AINumbers Fintech Intelligence Suite
Server Details
530 MCP tools across 561 fintech tools: ChainGraph AP2 decisions, execution_hash. Zero PII.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- PostOakLabs/ainumbers-mcp-apps
- GitHub Stars
- 2
- Server Listing
- ainumbers-mcp-apps
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.3/5 across 689 of 689 tools scored. Lowest: 1.3/5.
Many tools share highly similar verbs and purposes across the suite, such as compute_* calculators, validate_* checkers, and build_* builders that differ only by niche regulation or format. Tools like run_*_fit_diagnostic, assess_*_readiness, and check_*_readiness overlap heavily, making it difficult for an agent to distinguish which specific tool to select without deep domain knowledge.
The suite predominantly follows a verb_noun pattern (e.g., compute_*, validate_*, build_*), which provides some consistency. However, there are notable deviations with camelCase or mixed forms like acdc_said_check, camt053_parse, pain001_validate, and ha_bundle_export, as well as inconsistent use of synonyms (check, verify, validate, assess) that weaken the overall pattern.
With 689 tools, the count is extreme for any single-purpose server and overwhelms the agent's selection surface. The massive number of highly specialized tools, each with tiny variations on a regulation or standard, makes the server feel like an entire marketplace dump rather than a coherent, scoped toolset. This far exceeds even the 'heavy' 25+ threshold.
The suite covers an extremely broad range of fintech compliance and analytics domains, including CRUD-adjacent operations, calculations, validations, and receipt generation. However, the sheer breadth introduces obvious gaps within each specialized workflow (e.g., many compute_* tools lack an associated update/delete lifecycle, and several domains have only single-point operations). Overall the surface is more sprawling than complete for any single coherent purpose.
Available Tools
688 toolsacdc_said_checkRecompute ACDC / vLEI credential SAIDs (structural integrity)ARead-onlyIdempotentInspect
Agent-facing mirror of the tools/553 browser workbench (VS-1) -- recomputes the self-addressing identifiers (SAIDs) of a pasted ACDC / vLEI credential JSON (top-level "d" plus any nested a/e/r blocks) under the KERI/CESR Blake3-256 ("E") or SHA2-256 ("I") derivation codes, and cross-checks the declared schema SAID ("s") against a pinned table of 6 official GLEIF vLEI schema SAIDs. Reuses the SAME vendored SAID-check module as T553 -- the same credential produces byte-identical findings in either surface. Returns per-field match/mismatch/unsupported/unknown findings plus a receipt. This is a STRUCTURAL check only -- NOT the KERI chain of trust, NOT issuer authority, NOT revocation state. No network egress.
| Name | Required | Description | Default |
|---|---|---|---|
| credential | Yes | ACDC / vLEI credential JSON object (v, d, i, ri, s, a, e, r fields). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, idempotent, non-destructive. Description reinforces this by stating it returns findings and receipt, no network egress. Adds detail on derivation codes and schema cross-check, exceeding annotation basics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences front-loading purpose, scope, behavior, and exclusions. Every sentence delivers key information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers all necessary aspects: input, processing, derivation codes, cross-check, output type, and what is excluded. Sufficient for an agent to select and invoke correctly without output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter 'credential' is described as ACDC/vLEI JSON object with expected subfields (v, d, i, ri, s, a, e, r). Schema coverage 100%, but description adds meaning about how these fields are processed (SAID recomputation, schema cross-check), which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it recomputes SAIDs of ACDC/vLEI credentials under specific derivation codes and cross-checks schema SAID against a pinned table. It distinguishes this as a structural integrity check separate from trust/authority/revocation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists what the tool does (structural SAID check) and what it does NOT do (KERI chain of trust, issuer authority, revocation). Mentions reuse of T553 module, giving context for expected behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adjudicate_emir_reconciliationEMIR Trade-Repository Reconciliation AdjudicatorCRead-onlyIdempotentInspect
EMIR Trade-Repository Reconciliation Adjudicator: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-483-emir-break-ageing. Open at: https://ainumbers.co/chaingraph/art-482-emir-recon-adjudicator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly states that inputs are processed transiently, not stored or logged, and recommends synthetic/anonymised inputs, aligning with the readOnlyHint. It also reveals that the output is an AP2 artifact with execution_hash and mentions the output feed, providing useful behavioral details beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and repetitive, with phrases like 'OpenChainGraph compute node' appearing twice and extraneous details about Cloudflare Workers, gpu:false, and FV-status URLs. The core purpose is buried under technical infrastructure specifics, making it inefficient for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description explains compute binding and output artifact details, it omits the core domain logic: what constitutes an EMIR reconciliation adjudication, what inputs are expected in policy_parameters, and what the decision output signifies. It also does not clarify how it differs from similar reconciliation tools, leaving the tool's functional context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all four parameters with descriptions, and the description elaborates on the compute enum and explains parent_hashes/parent_tool_ids. However, policy_parameters is only described as 'See the tool's manifest for field names', which is vague and requires external lookup, leaving its nested structure incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as 'EMIR Trade-Repository Reconciliation Adjudicator' but does not explain what 'adjudicate' means in this context. It focuses heavily on the OpenChainGraph compute binding and AP2 artifact mechanics rather than the business purpose, leaving the actual function ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling reconciliation tools (e.g., reconcile_emir_pairing, check_emir_uti_completeness). It does not mention use cases, prerequisites, or scenarios where this tool is preferred. The compute mode options are described but not the conditions that warrant using this adjudicator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
age_emir_reconciliation_breaksEMIR Reconciliation Break AgeingARead-onlyIdempotentInspect
EMIR Reconciliation Break Ageing: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-482-emir-recon-adjudicator. Open at: https://ainumbers.co/chaingraph/art-483-emir-break-ageing.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, openWorld false, and destructive false, and the description is fully consistent with them. It adds material beyond the annotations by explaining deterministic compute semantics, Cloudflare Workers server-side execution, client-side browser delegation, transient non-retention of inputs, AP2 artifact export, and FV-status verification. There is no contradiction between the annotation hints and the description text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description carries a lot of important operational context, but it is not tightly structured: OpenChainGraph compute node is stated twice in nearly consecutive sentences, and the FV-status explanation is long relative to the business purpose. The key safety and compute statements are front-loaded, but the redundancy costs it a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with rich annotations and 100% schema coverage, the description gives substantial invocation context: compute modes, delegation behaviour, transient data handling, synthetic-input requirement, upstream dependency, provenance artifact, and FV verification URL. The main gap is that policy_parameters is left opaque and the exact ageing computation output is not described, but the description is still broadly complete for agent selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the compute, parent_hashes, parent_tool_ids, and policy_parameters semantics. The description restates the compute mode behaviour but does not add meaningful guidance for how policy_parameters should be structured or how parent_hashes and parent_tool_ids need to align. This meets the baseline 3 but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first phrase clearly identify this as an EMIR Reconciliation Break Ageing tool and an attestation_mandate OpenChainGraph compute node. It also states that it consumes upstream artifacts from art-482-emir-recon-adjudicator and exports an AP2 artifact with execution_hash, giving it a clear place in a chain. However, it never explicitly says what ageing computation is performed, so the business output remains slightly under-specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be run after the upstream art-482-emir-recon-adjudicator artifact is available, and it gives compute-mode selection guidance for auto, server, browser, and gpu:true nodes. It also warns to use only synthetic or anonymised inputs because inputs are transient. It does not name sibling tools such as adjudicate_emir_reconciliation or reconcile_emir_pairing, nor does it explicitly state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agentic_mandate_sandboxAgentic Mandate SandboxARead-onlyIdempotentInspect
Simulate agent payment policies for tokenized A2A corridors: set spend caps, MCC allowlists, velocity throttles, and approval thresholds; run synthetic transactions against the policy and export the result as a Policy Mandate. Browser-based, client-side only, zero PII. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. The description adds critical behavioral context: client-side execution, no network calls, no PII, uses AIN Bridge for inputs, and renders an interactive widget. This exceeds the information in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose and capabilities. Slight redundancy on 'client-side' and 'zero PII' across two sentences, but remains clear and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description adequately covers purpose, constraints, input mechanism, and execution environment. The mention of 'export result as a Policy Mandate' provides sufficient context for return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'inputs' has a schema description (100% coverage). The description adds value by explaining it's a map of element IDs to values applied via AIN Bridge prefill, and referencing the manifest input_schema for details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool simulates agent payment policies with specific capabilities (spend caps, MCC allowlists, velocity throttles, approval thresholds). It distinguishes itself from siblings like 'simulate_spend_policy' by emphasizing it's a sandbox with an interactive widget and client-side execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the tool is browser-based, client-side only, and zero PII, which implies it's safe for experimentation. However, it does not explicitly mention when to use this tool over alternatives like 'simulate_spend_policy' 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.
aggregate_cbam_precursor_emissionsCBAM Precursor-Emissions AggregatorBRead-onlyIdempotentInspect
CBAM Precursor-Emissions Aggregator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-68-carbon-compliance-fit-diagnostic. Output feeds: art-69-cbam-embedded-emissions-calculator, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-72-cbam-precursor-emissions-aggregator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds that inputs are processed transiently and not stored/logged/retained, and recommends synthetic or anonymised inputs. This is valuable transparency about side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly repetitive, stating the same compute-mode behavior and transient-processing note multiple times. It's a dense paragraph with run-on sentences, lacking the concise, front-loaded clarity of a well-structured tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It provides useful context about chain provenance (parent hashes, upstream/downstream tools) and compute delegation. However, it doesn't describe the expected output artifact structure or the specific decision function inputs under policy_parameters, leaving some gaps for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description repeats some of this (compute modes, chaining) but adds little new meaning beyond the schema's coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state it aggregates CBAM precursor emissions as a chain compute node. However, the description is verbose and doesn't crisply define what 'precursor emissions' means beyond the name, relying partly on the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides specific guidance on compute modes (auto/server/browser) and node behavior (gpu:false vs gpu:true), which is useful. However, it never explicitly compares this tool to any sibling alternatives or states when to prefer this over others, leaving usage context somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aggregate_execution_receiptsAgent-Action Audit-Trail AggregatorARead-onlyIdempotentInspect
Agent-Action Audit-Trail Aggregator: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-30-agent-commerce-conformance-validator, art-31-a2a-x402-extension-mandate-validator, art-33-mcp-server-self-attestation-pack, cry-04-merkle-batch-verifier. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/cry-05-agent-action-audit-trail-aggregator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses significant behavioral traits beyond the annotations: it explicitly states that inputs are 'processed transiently' and 'not stored, logged, or retained', and it details compute mode execution paths ('server-side on Cloudflare Workers', 'browser delegation URL'). It also mentions determinism and the export behavior. These add substantial value beyond the readOnly/idempotent hints, with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes numerous technical details (URLs, FV-status, specific artifact IDs) that may distract from the core purpose. However, it is structurally organized: starting with the purpose, then compute modes, retention, artifact, and pipeline connections. It is not concise but is structured, earning a mid-range score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the absence of an output schema, the description covers essential aspects: compute modes, input retention, artifact export, and pipeline position. It mentions the AP2 artifact with execution_hash for chain provenance, which provides some output expectation. While it doesn't detail the exact artifact structure, the description is sufficient for an agent to understand the tool's role and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful semantics for the 'compute' parameter by explaining the behavior of each mode ('auto', 'server', 'browser') and the gpu:true exception. For 'policy_parameters' it points to the tool's manifest, which is less useful but still supplementary. It does not elaborate on 'parent_hashes' or 'parent_tool_ids', but the schema already describes them. Overall, the extra context justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb (aggregate) and resource (execution receipts), and the title 'Agent-Action Audit-Trail Aggregator' reinforces the purpose. It distinguishes itself through upstream artifact references and the AP2 artifact export, setting it apart from other aggregate_* tools. The core function—aggregating execution receipts into a chain-provenance artifact—is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context via upstream/downstream dependencies and compute mode behavior, but it does not explicitly state when to use this tool versus alternatives or when not to use it. The guidance is implied rather than explicit, leaving the agent to infer applicability from the pipeline references. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aggregate_ownership_50pctOwnership 50%-Rule AggregatorBRead-onlyIdempotentInspect
Ownership 50%-Rule Aggregator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-90-sanctions-screening-fit-diagnostic. Output feeds: art-92-screening-list-coverage-checker, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-91-ownership-50pct-aggregator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Exceptionally transparent beyond the annotations: it discloses where computation runs (Cloudflare Workers), delegation rules for gpu:true/false nodes, that inputs are 'processed transiently... not stored, logged, or retained,' includes an explicit 'Use synthetic or anonymised inputs only' warning, and explains the AP2 artifact with execution_hash for chain provenance. It even explains the FV-status verification receipt's offline-verifiability. All of this complements rather than contradicts the annotations (readOnly=true, idempotent=true).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A dense, unstructured wall of text with no paragraph breaks, bullet points, or hierarchy. The opening is redundant—'OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node.' repeats the same noun phrase twice, suggesting an editing artifact. While dense with useful information (pipeline, URL, FV hash), the lack of structure makes key details (synthetic-only warning, compute behavior) harder to extract.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and an opaque policy_parameters object, the description carries full burden for I/O clarification and partially succeeds: it explains chaining provenance, compute bindings, and verification. But it never describes the shape of the AP2 artifact beyond 'execution_hash,' never lists the critical policy_parameters fields despite having an entire nested object for them, and assumes significant domain knowledge (OpenChainGraph, gpu:false nodes, FV-status). The 50% rule itself is undefined, leaving a material gap for an agent deciding on input construction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter has at least a minimal description, and the description enriches the 'compute' parameter semantics by explaining the default behavior and browser-delegation URL. However, 'policy_parameters' remains a black box—'See the tool's manifest for field names'—with no additional context in the tool description. The description neither compensates for this gap nor meaningfully elevates overall parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Ownership 50%-Rule Aggregator' / 'OpenChainGraph compute node') and clearly scopes it as deterministic and part of a compliance mandate. However, the functional purpose of the 50% rule is never explained in domain terms (beneficial ownership? sanctions look-through?), leaving the agent to infer meaning from upstream/downstream artifact names. The opening is nearly tautological, restating the title rather than defining what aggregation occurs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through pipeline references ('Consumes upstream artifacts from: art-90-sanctions-screening-fit-diagnostic. Output feeds: art-92...'), which situates the tool in a specific workflow. However, no sibling or alternative tool is ever named, and there is no explicit guidance on when to choose this over alternatives like the similarly-named 'compute_cdd_ownership_25pct'. The compute-mode explanation (auto/server/browser) is operational, not usage-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aggregate_reputation_scoreProvable Reputation Score AggregatorARead-onlyIdempotentInspect
Provable Reputation Score Aggregator: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-278-reputation-score-aggregator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses determinism, transient input processing with no storage/logging/retention, server-side vs browser delegation behavior, and the AP2 artifact export with execution_hash for provenance. It also notes the FV-status receipt is a snapshot, not a subscription, adding verifiable context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loaded with the core identity and behavior, but it carries extra material such as the long URL and FV-status JSON path that may not be necessary for tool selection or invocation. It is structured enough, but not every sentence earns its place for an agent deciding whether and how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the compute-mode ambiguity, lack of output schema, and chain-provenance behavior, the description covers the essential invocation context: defaults, forced modes, gpu:true behavior, privacy handling, output artifact, and where to find policy_parameters field names. The external manifest pointer and FV-status link fill gaps that would otherwise be unknown. A slightly more explicit statement about required parent hash ordering could raise this further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds behavioral meaning around compute modes and references the manifest for policy_parameters field names, but it does not substantially enrich parameter semantics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Provable Reputation Score Aggregator' and defines it as a deterministic OpenChainGraph compute node, making the verb, resource, and computing context explicit. It clearly differentiates this tool from other aggregate_* siblings by the reputation-score domain and attestation_mandate framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete guidance on compute modes, explaining when 'auto' computes server-side, when 'browser' forces client-side delegation, and that gpu:true nodes always delegate. It adds a clear operational constraint: 'Use synthetic or anonymised inputs only,' which informs safe invocation. It does not explicitly contrast against sibling aggregate tools, but the unique domain and compute-mode guidance are sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aggregate_solvency2_scr_modulesSolvency II SCR Standard-Formula Module AggregatorARead-onlyIdempotentInspect
Solvency II SCR Standard-Formula Module Aggregator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-180-solvency2-scr-ratio-calculator. Open at: https://ainumbers.co/chaingraph/art-449-solvency2-scr-module-aggregator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context: transient processing (inputs not stored, logged, or retained), the compute delegation semantics (browser delegation URL), the requirement to use synthetic or anonymised inputs, the export of an AP2 artifact with execution_hash for chain provenance, and the FV-status verification snapshot. This goes well beyond the annotations and provides critical operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but not excessively long given the complexity. It front-loads the tool's identity and compute modes, then covers security, output, and verification. Every sentence provides meaningful information; though the URL and FV-status details add length, they're relevant for an agent deciding whether to use this tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, 100% schema coverage, and rich annotations, the description is fairly complete. It covers compute modes, data handling, output artifacts, and verification. However, it doesn't explain what the actual aggregation input structure should be (policy_parameters fields are only referenced via 'manifest'), and there's no output schema to clarify return values. An agent may still need external reference for the policy_parameters structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented in the schema. The description adds context about the compute parameter's modes and the policy_parameters being computed server-side. However, the policy_parameters description is vague ('See the tool's manifest for field names') and doesn't add meaning beyond the schema's own description. Baseline 3 is appropriate since the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool aggregates Solvency II SCR standard-formula modules, which is a specific verb+resource. It also clarifies it's an OpenChainGraph compute node with a compliance mandate. However, it doesn't explicitly distinguish itself from the closely related sibling calculate_solvency2_scr_ratio, though it mentions the output feeds into that tool, which provides some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes (auto/server/browser) and the conditions under which each is used, which provides clear context for selecting compute parameters. However, it doesn't explicitly state when to use this tool versus alternatives like calculate_solvency2_scr_ratio or other aggregation tools. The output feed mention gives an implicit hint but no explicit 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.
aggregate_summa_mst_liabilitiesSumma MST Liability AggregatorARead-onlyIdempotentInspect
Summa MST Liability Aggregator: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-620-summa-mst-inclusion-checker. Open at: https://ainumbers.co/chaingraph/art-621-summa-mst-liability-aggregator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description richly discloses behavior beyond annotations: deterministic execution, compute mode delegation (server/browser), transient processing with no storage/logging/retention, input restrictions, AP2 artifact export with execution_hash, and a provenance receipt. This substantially exceeds what the readOnlyHint and idempotentHint annotations already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized, front-loading the tool name and category before detailing execution modes, transient processing, output, and links. Each sentence provides functional information, and while it is lengthy, it avoids redundancy. The inclusion of specific URLs and hashes is purposeful for traceability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers execution semantics, input constraints, and output provenance, but it does not explain the structure of the AP2 artifact beyond execution_hash or detail the policy_parameters fields. It points to 'the tool's manifest' for more info, so an agent might need to consult external resources. Given no output schema, the return-value description is minimal. This is adequate but leaves gaps for full autonomous invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful context for the compute parameter by explaining 'auto' vs 'browser' behavior and the gpu:true delegation rule. It also indirectly references parent_hashes through chaining and execution_hash, though it doesn't detail all parameters (e.g., policy_parameters). Overall, it elevates understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly imply a liability aggregator for Summa MST, but the description never explicitly states what it aggregates or how. It focuses on execution details (compute modes, transient processing) rather than explaining the core function. It is not a tautology, but the purpose beyond the title is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus other aggregators or the inclusion checker. The description mentions the output feeds into art-620-summa-mst-inclusion-checker, hinting at a workflow, but does not state selection criteria or alternatives. Operational constraints like 'use synthetic or anonymised inputs only' are provided, but not when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aggregate_taxonomy_kpi_garTaxonomy KPI & Green Asset Ratio AggregatorARead-onlyIdempotentInspect
Taxonomy KPI & Green Asset Ratio Aggregator: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-73-taxonomy-alignment-scorer. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-74-taxonomy-kpi-gar-aggregator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description discloses determinism, transient input processing (not stored/logged/retained), the compute-mode delegation behavior for gpu:false vs gpu:true nodes, AP2 artifact export, and chain-provenance via execution_hash. This significantly exceeds what annotations already convey and gives an agent a clear behavioral model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive: 'OpenChainGraph compute node (model_governance)' and 'Deterministic OpenChainGraph compute node' are near-duplicates, and the long FV-status snapshot explanation and URL add significant length. Useful facts like provenance and privacy are present, but the structure is not tight and front-loads redundant identity rather than the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers execution mechanics, data-flow relationships, provenance, privacy, and verification links, which is strong for an operational compute node. However, it omits the actual aggregation logic, expected output shape, and the specific meaning of policy_parameters fields, which an agent needs to invoke the tool correctly beyond the schema's generic descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds little parameter-level meaning beyond explaining compute modes, and it refers to the manifest for policy_parameters field names rather than enumerating them, though the schema also lacks those details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify it as a Taxonomy KPI & Green Asset Ratio aggregator and an OpenChainGraph compute node. It names its upstream artifact (art-73-taxonomy-alignment-scorer) and downstream consumer, which helps distinguish it from the many other aggregate_* siblings. However, the description never states the actual computation or output definition in a clear verb+resource sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete context by naming upstream and downstream artifacts and specifying compute-mode behavior, and it warns to use synthetic/anonymised inputs only. It does not explicitly say when to choose this tool over alternatives or when not to use it, so the usage guidance 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.
allocate_ihb_interestIHB Interest AllocationCRead-onlyIdempotentInspect
IHB Interest Allocation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-259-compute-multilateral-netting, art-262-validate-ebam-acmt-flow. Open at: https://ainumbers.co/chaingraph/art-260-allocate-ihb-interest.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds notable behavioral context beyond annotations: inputs are processed transiently and not stored, compute modes alter execution location, and the tool exports an AP2 artifact with execution_hash. These traits are not fully captured by readOnlyHint and idempotentHint. The description is consistent with annotations (no contradiction) and provides useful operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph crammed with URLs, hashes, and technical details that obscure the core purpose. It front-loads compute-mode mechanics rather than stating what the tool does. Much of the FV-status and upstream-artifact information is tangential for a quick understanding and could be moved elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers many operational aspects (compute modes, transient processing, artifact export, upstream artifacts, open link, verification status) that are relevant for correct invocation. However, it omits the actual domain semantics of IHB and references a 'manifest' for policy_parameters without linking it, leaving a gap in understanding the decision function. Given the schema and annotations, it is mostly complete but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with 100% coverage. The description adds some context about the compute parameter (default behavior, server vs browser) and mentions that policy_parameters are computed server-side, which slightly reinforces schema descriptions. However, it does not clarify parent_hashes/parent_tool_ids beyond what the schema states, so the added value over the schema is modest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as an 'OpenChainGraph compute node' but never states what IHB Interest Allocation actually does — it never defines IHB or explains what 'allocating interest' means. It focuses on execution environment (compute modes, browser delegation) rather than the domain function, so an agent cannot understand the tool's core purpose from this text. It is not a tautology, but it is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions compute modes and upstream artifact dependencies but gives no guidance on when to invoke this tool versus any alternative. It does not name sibling tools or specify conditions that would select this tool over other allocation or compute tools. There is no 'when to use / when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amortize_asc606_commissionsASC 340-40 Commission AmortizationCRead-onlyIdempotentInspect
ASC 340-40 Commission Amortization: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-266-reconcile-commission-statement. Open at: https://ainumbers.co/chaingraph/art-265-amortize-asc606-commissions.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover readOnly and idempotent, but the description adds significant behavioral detail: deterministic execution, compute-mode delegation to server vs browser, gpu:true always delegating, transient processing with no retention/logging, and a directive to use synthetic or anonymised inputs. It also discloses output provenance via execution_hash and an AP2 artifact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive: it says 'OpenChainGraph compute node' twice, and includes peripheral provenance/offline-verification details that are not directly about how to invoke the tool. The essential behavioral content could be stated in three sentences; the current structure is front-loaded with identity rather than actionable function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a fairly rich schema, the core behavior of ASC 340-40 amortization is absent: the description does not say what inputs the decision function requires, what output shape the AP2 artifact carries, or what the amortization schedule contains. Sending the agent to an external manifest and an HTML page is insufficient for correct invocation when there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description mostly restates the compute-mode choices already documented in the schema and defers the actual policy_parameters fields to 'the tool's manifest', adding little semantic meaning for the agent. It does not help the agent know what values to supply for the real amortization inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by repeating the name and title ('ASC 340-40 Commission Amortization') and labels the tool as an 'OpenChainGraph compute node', but it never states in plain terms what behavior or output the tool computes. It emphasizes determinism, compute modes, and provenance while omitting the actual amortization function, which distinguishes it poorly from siblings like compute_deterministic_amortization_schedule and build_amortization_schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a compliance mandate and names an upstream artifact (art-266-reconcile-commission-statement), which faintly implies chaining after reconciliation. However, it gives no explicit instruction on when to use this tool versus similar siblings, no exclusion conditions, and no guidance on the expected workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_dc_vs_lc_cost_benefitDocumentary Collection vs Letter of Credit Cost-BenefitBRead-onlyIdempotentInspect
Documentary Collection vs Letter of Credit Cost-Benefit: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-478-analyze-dc-vs-lc-cost-benefit.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint:true, idempotentHint:true, destructiveHint:false, and openWorldHint:false. The description adds valuable context on top: transient processing (inputs not stored/logged/retained), execution_hash provenance, and FV-status verification that is a snapshot not a subscription. However, the four compute/browser/gpu behaviors are already detailed in the input schema for the compute parameter. The description doesn't add beyond what the schema and annotations provide in that regard. It does add the 'use synthetic inputs only' guidance and the AP2 artifact export. No contradiction with annotations; it consistently describes a read-only deterministic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense block that front-loads the title and compute behavior, which is good. However, it's verbose and mixes multiple concerns: compute routing (already in schema), provenance (execution_hash), FV-status, and the URL. The FV-status snapshot explanation is tangential and could be moved or shortened. Several sentences restate schema content (auto/server/browser behavior) rather than adding new value. It is not as concise as it could be, though it is structured with the important compute constraint near the front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the tool returns. It mentions 'Exports an AP2 artifact with execution_hash' but doesn't describe the cost-benefit output structure or what an agent should do with the result. The inputs are only referenced via 'see the tool's manifest for field names' in the schema, and the description doesn't resolve that. For a complex decision-function tool nested with `policy_parameters`, an agent would need field names for the policy parameters (e.g., amounts, tenors, rates) to call it usefully. The provenance and FV-status details are thorough but the core input/output semantics are left dangling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is documented in the input schema. The description adds marginal context by explaining the default 'auto' path server-side and the browser delegation URL, but that's largely duplicating the schema's enum descriptions. The `policy_parameters` is documented as 'see the tool's manifest' in the schema and the description doesn't add field names or examples, which would have added value beyond schema. It mentions the decision function but doesn't enumerate parameters. Nebula: baseline 3 applies because coverage is high and the description repeats rather than enriches.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a cost-benefit analysis compute node comparing Documentary Collection vs Letter of Credit. It states it's a deterministic OpenChainGraph compute node and is `compliance_mandate`-specific. It distinguishes itself from the large sibling set by being a compute/analysis node, though it doesn't explicitly name an alternative like `examine_lc_document_presentation` or `validate_mt700_lc_fields`. The purpose is clear, with a specific domain and verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the computation modes (auto/server/browser) and gpu routing in detail, which tells an agent when to expect server-side vs client-side execution. It warns to use synthetic or anonymised inputs only, which is a usage constraint. It does not, however, explicitly say when to use this tool versus other LC/DC-related tools (e.g., `examine_lc_document_presentation`, `validate_mt700_lc_fields`). No alternatives are named, and no exclusions are stated. Some implied usage context exists via the `compliance_mandate` and provenance notes, but it lacks explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_prediction_marketPrediction Market AnalyzerCRead-onlyIdempotentInspect
Prediction Market Analyzer: OpenChainGraph compute node (event_market_pnl). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-212-prediction-market-arbitrage. Open at: https://ainumbers.co/chaingraph/art-211-prediction-market-analyzer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the annotations: inputs are processed transiently and not stored/logged/retained, deterministic execution reinforces idempotentHint, and it discloses the server-side vs. browser-delegation execution model and the AP2 artifact export with execution_hash for chain provenance. All consistent with readOnlyHint=true and idempotentHint=true — 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is verbose and repetitive — 'OpenChainGraph compute node' appears verbatim in the first two sentences — and much of it (Cloudflare Workers, gpu:false/gpu:true flags, FV-status receipt path, offline-verification note, artifact IDs) is peripheral to what the tool does. It is not front-loaded on the core function and contains significant noise for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested policy_parameters object whose field names are only pointed to ('See the tool's manifest'), the description never defines what the analysis returns or what decision-function inputs are accepted. It fully covers execution/provenance mechanics but leaves the actual prediction-market computation semantics unexplained — a real gap for a 4-parameter tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters are already described; the description adds little beyond the schema. The compute parameter's modes are covered in both. policy_parameters remains under-specified — the schema says 'See the tool's manifest for field names' and the description does not reduce that ambiguity — so the high-coverage baseline of 3 holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first two sentences identify it as a prediction market analyzer ('event_market_pnl') and a deterministic compute node, so an agent can infer it computes prediction-market PnL and is distinct from siblings. However, what it actually produces (a PnL figure, an arbitrage signal) and how it differs from the closest sibling find_prediction_arbitrage is never spelled out, and the purpose is buried under Cloudflare/GPU/kernel jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use vs. when-not-to guidance and no mention of any alternative; the sibling find_prediction_arbitrage is never referenced. The only actionable direction is 'Use synthetic or anonymised inputs only', which is an input-safety constraint, not tool-selection guidance. The OpenAt URL points to external context rather than clarifying selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anchor_document_integrityDocument Integrity & eIDAS Electronic Timestamp AnchorARead-onlyIdempotentInspect
Document Integrity & eIDAS Electronic Timestamp Anchor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-122-timestamp-attestation-verifier. Open at: https://ainumbers.co/chaingraph/art-121-document-integrity-anchor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, and the description goes well beyond them: inputs are transient and not stored/logged/retained, compute can be server-side or browser-delegated, and the result is an AP2 artifact with execution_hash plus an offline-verifiable FV-status receipt. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, opening with the core purpose before compute modes, privacy semantics, output, and verification status. It is long but nearly every clause adds useful operational detail; only the URL/FV-status tail is somewhat auxiliary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and four optional parameters, the description covers compute behavior, return modes (artifact vs browser delegation URL), data-handling constraints, downstream consumers, and offline verification status. It could be more explicit about the AP2 artifact's exact shape, but the provided information is sufficient for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 bit of context for the compute parameter (Cloudflare Workers, registered kernel), but it does not add meaning for parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema already describes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and operation: an OpenChainGraph compute node for document integrity/eIDAS timestamp anchoring that exports an AP2 artifact with an execution_hash. It is clear what the tool produces, but it never names sibling tools such as anchor_stamp or verify_timestamp_attestation, so it does not explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical routing guidance: compute:'auto' runs server-side on Cloudflare Workers, compute:'browser' forces client-side execution, and gpu:true always delegates to the browser. It also warns to use synthetic or anonymised inputs only. It provides clear context but no explicit when-to-use vs alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anchor_stampAnchor an execution_hash (or batch) at a real timestamp authorityAInspect
Calls the anchor-suite MCP server (server-to-server, not the browser CORS-gated relay) to timestamp one execution_hash, or batch-anchor an array via anchor-suite's own anchor_batch (one upstream call per batch, RFC 6962 Merkle root anchored, per-hash merkle_inclusion returned), and shapes the result as literal OCG v0.7 section 20 anchor_bindings entries ready to append to an artifact. Success is only reported after this tool independently confirms anchored_hash (or, for a batch entry, merkle_inclusion.leaf) equals the caller-supplied hash -- it does not merely trust anchor-suite's response. On ANY failure -- anchor-suite unreachable, erroring, timing out, or an equality mismatch -- returns {ok:false, unanchored:true, reason} verbatim, never a fabricated binding. Caller-invoked only; not wired into any automatic per-artifact-emission path.
| Name | Required | Description | Default |
|---|---|---|---|
| authority | No | Defaults to whatever anchor-suite's own anchor_hash/anchor_batch default to today (currently sigstore for rfc3161-tst) -- this tool does not own or hardcode a preference beyond that mirror. | |
| execution_hash | Yes | The execution_hash(es) to anchor. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations claim no read-only, no idempotency, no destructiveness. The description elaborates meaningfully: success is only reported after independent confirmation of hash equality, failures return {ok:false, unanchored:true, reason} verbatim, never fabricating bindings, and the authority default is delegated/mirrored from anchor-suite. This is deep and valuable behavior disclosure beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well organized with clear cause-effect chains, but somewhat long — the failure-mode sentence and trust rationale could be tightened. Front-loads the core action first, which is good. No wasted filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complex tool (real-time authority, batch anchoring, cryptographic verification, OCG shaping) with no output schema, yet the description fully explains the success/failure contract, the verification guarantee, the batch mechanics, and the calling context. An agent can predict exactly what happens in every path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful semantics for execution_hash (single vs 2+ batch array, RFC 6962 Merkle root, per-hash merkle_inclusion) and authority (mirrors anchor-suite default). Only minor gap: array items lack 'sha256:' prefix documentation but this is minor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear, specific action: timestamping execution_hash(es) via anchor-suite at a real timestamp authority, shaping results as OCG v0.7 section 20 anchor_bindings. Distinguishes from siblings (e.g., verify_execution_hash, verify_timestamp_attestation) by noting server-to-server vs browser relay and the explicit OCG shaping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains when this is called (caller-invoked only, not wired into automatic emission), the batch vs single path, and its trust posture. Lacks explicit when-not/alternative tool naming, but the caller-invoked note and clear scope give sufficient context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ap2_aml_mandate_builderAP2 AML Mandate BuilderARead-onlyIdempotentInspect
Anchor agentic tool for Cat-12. Translate AML/BSA program controls, TM rules, and customer risk policy into a structured Policy Mandate JSON for agentic payment sy Browser-based, client-side only. Zero PII. Link users to https://ainumbers.co/tools/131-ap2-aml-mandate-builder.html for interactive use. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: it confirms zero PII, client-side only, zero network, and explains it renders as a widget with inputs via AIN Bridge. Annotations already indicate readOnlyHint=true and destructiveHint=false, which are consistent. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and front-loads the core purpose. It efficiently conveys the transformation, execution model, and user link. Minor redundancy between the first and last sentences could be tightened, but overall it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested input, output schema exists), the description covers the transformation, execution constraints (client-side, zero PII), and directs users to an interactive version. It addresses the main aspects for an agent to understand and use the tool, though it lacks detail on output structure (output schema not shown).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single 'inputs' parameter, describing it as a map of element IDs to values. The tool description does not significantly add to that; it repeats 'inputs are applied via the AIN Bridge'. With high schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it translates AML/BSA controls, TM rules, and customer risk policy into a Policy Mandate JSON. It identifies itself as an 'anchor agentic tool for Cat-12'. However, it does not differentiate from sibling tools like 'build_google_ap2_mandate' which likely has a similar purpose, missing explicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions 'Cat-12' which implies a specific category but does not explicitly state when not to use it or how it compares to siblings like 'compile_work_mandate' or 'build_google_ap2_mandate'. Usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_climate_scenarioClimate Scenario Applicator (NGFS / Fit-for-55)ARead-onlyIdempotentInspect
Climate Scenario Applicator (NGFS / Fit-for-55): OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-68-carbon-compliance-fit-diagnostic, art-71-cbam-certificate-cost-engine. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-76-climate-scenario-applicator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses determinism, server-side vs browser-side compute behavior, transient input processing with no storage/logging/retention, the requirement to use synthetic or anonymised inputs, and the AP2 artifact with execution_hash for provenance. There is no contradiction with the readOnly, idempotent, and non-destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The essential behavior is front-loaded and the description is dense with useful operational details. The FV-status/receipt and URL section at the end add trust/governance context for some agents but are probably not necessary for tool selection and make it slightly longer than the optimal invocation-oriented description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still explains the main output type (AP2 artifact with execution_hash), the upstream/downstream data flow, and the compute delegation behavior. It is not a 5 because the decision function inputs remain unspecified in the description and the actual scenario output returned to the caller is only described abstractly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already covers compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds useful chain context by naming the upstream artifact IDs, but it still defers the actual field names of policy_parameters to an external manifest, so the description only meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first line identify an NGFS / Fit-for-55 climate scenario tool that runs as an OpenChainGraph model_governance compute node, and the upstream artifact IDs help separate it from the long sibling list. It is not a full 5 because the description never says explicitly what applying a scenario does to the inputs; the format is inferred from 'AP2 artifact' and 'decision function'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear use context: it is a deterministic chain node consuming art-68-carbon-compliance-fit-diagnostic and art-71-cbam-certificate-cost-engine artifacts and feeding art-05-agent-action-audit-trail-aggregator. It also explains when server execution is used versus browser delegation. It does not explicitly name alternative tools or say when not to use it, so it is not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assemble_ai_addendumAI Addendum AssemblerDRead-onlyIdempotentInspect
AI Addendum Assembler: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-412-ai-act-procurement-clause-mapper. Output feeds: art-409-dpa-art28-completeness-checker. Open at: https://ainumbers.co/chaingraph/art-411-ai-addendum-assembler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations convey readOnly/idempotent, which captures some behavior, but the description beyond the annotation is largely a stream of confusion. The text mentions 'Inputs are processed transiently to compute the response and are not stored, logged, or retained', which is a genuine behavioral guarantee. However, it does not meaningfully describe what behavior is exhibited under error conditions or performance, and it introduces references to GPUs and browsers that are more distracting than illuminating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, single-paragraph wall of text with no line breaks or visual hierarchy. It front-loads unnecessary details and buries the sparse amount of useful information under a pile of legal boilerplate. The title is the only element that provides structure, and the rest does not build on it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the schema (nested objects, multiple enums), the description fails to provide the missing context for the specific regulatory or computational paradigm the tool operates in. It gives no clear guidance on how the AI addendum should be structured, and the description assumes a level of context that a human would need to know to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema includes individual parameter descriptions which are already descriptive. The tool's description adds minimal signal and doesn't clarify the already-documented rollup of `policy_parameters`. The distinction between `compute` values is preserved in the schema, so the description adds no real semantic value to what's already in the schema, which has a baseline of 3. The overall description reads like a list of names (AI, GPU, browsers) but doesn't provide practical guidance on how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'AI ADDENDUM ASSEMBLER' identifies the deliverable (an AI addendum), but the description immediately descends into a wall of opaque jargon ('OpenChainGraph compute node', 'compliance_mandate', 'deterministic') that obscures more than it clarifies. The core verb-object relationship (assemble + AI addendum) is present but buried under noisy, confusing language, lacking the clarity needed for an agent to confidently discern its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is zero guidance on when to use this tool versus the massive list of siblings. The description mentions 'use synthetic or anonymized inputs only', but otherwise reads like a series of compliance and technical terms with no actionable insight for when a correct invocation is appropriate, and no explicit 'when/when not' conditions. This is a severe miss for a tool with many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assemble_aiuc1_evidence_packAIUC-1 Evidence Pack AssemblerARead-onlyIdempotentInspect
AIUC-1 Evidence Pack Assembler: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-303-aiuc1-control-evidence-linter, cry-05-agent-action-audit-trail-aggregator. Output feeds: art-305-aiuc1-evidence-freshness-lint. Open at: https://ainumbers.co/chaingraph/art-304-aiuc1-evidence-pack-assembler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool readOnly, idempotent, and non-destructive; the description adds substantial behavioral detail beyond that: determinism, transient processing with no storage/logging/retention, server-side Cloudflare Workers execution, browser delegation behavior, AP2 artifact export with execution_hash, and FV-status snapshot semantics. This is consistent with the annotations and significantly enriches the agent's model of the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads compute behavior, which is useful, but it repeats 'OpenChainGraph compute node' twice and includes a URL, a long FV-status hash, and an offline-verification explanation that are not needed for tool selection or invocation. The dense block buries the most actionable details and is not appropriately sized for an agent-facing definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex chain node with compute modes, provenance chaining, and no output schema, the description covers the major invocation-relevant facts: compute/delegation behavior, transient input handling, upstream and downstream artifact IDs, and the exported AP2 artifact. It does not fully explain what to put in policy_parameters or the exact response structure, but the schema and manifest pointer partially cover those gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 even without additional parameter guidance in the description. The description mostly restates the compute-mode behavior that the schema already documents. It adds no new field-level semantics for parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node with a compliance mandate and explains its role by naming upstream artifact consumers, downstream outputs, and the AP2 artifact export. It is more specific than a title tautology and gives clear resource/operation information. However, it never states in plain language what assembling an AIUC-1 evidence pack actually entails, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives real usage constraints: 'Use synthetic or anonymised inputs only' and conditional compute-mode guidance for auto/server/browser execution. It also implies pipeline placement via upstream/downstream artifact names. But it does not explicitly say when to choose this tool over similar pack-assembling siblings, nor does it name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assemble_license_termsLicense Terms AssemblerBRead-onlyIdempotentInspect
License Terms Assembler: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-204-license-compatibility-checker. Output feeds: art-206-rights-record-builder. Open at: https://ainumbers.co/chaingraph/art-205-license-terms-assembler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral aspects: inputs are processed transiently and not stored, compute mode defaults and delegation rules, the deterministic nature, and the export of an AP2 artifact. It also advises using synthetic or anonymised inputs. These details go beyond the provided annotations (readOnlyHint, idempotentHint) by explaining data handling and compute execution, which is valuable for callers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with significant redundancy (e.g., the compute-mode explanation appears in both the overview and the parameter description). It is structured as a single long paragraph with multiple clauses and technical jargon, making it hard to scan. While it contains useful information, the lack of bullet points or concise sentences hurts readability and conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides some workflow context by naming upstream (license-compatibility-checker) and downstream (rights-record-builder) artifacts, and it defines the output as an AP2 artifact with execution_hash. However, it does not explain the purpose of the assembled license terms, the expected content of 'policy_parameters', or how the tool interacts with the broader licensing workflow. Given the absence of an output schema, more detail on the output structure would be needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds context to each parameter. For 'compute', it restates and clarifies the enum semantics. For 'parent_hashes' and 'parent_tool_ids', it explains their role in setting chain.parent_hashes and ordering. For 'policy_parameters', it clarifies that these are inputs to the decision function and depend on compute mode, pointing to the manifest for field names. This supplements the schema descriptions, which already cover 100% of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'License Terms Assembler' and mentions its role as an OpenChainGraph compute node with a compliance mandate. However, the purpose is not elaborated beyond the name; the focus shifts to compute modes and provenance rather than the actual assembly logic. It is distinguishable from sibling 'assemble_*' tools by name and upstream/downstream references, but a more explicit statement of the function would earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It mentions consuming from 'license-compatibility-checker' and outputting to 'rights-record-builder', which implies a workflow position, but no direct guidance on selection criteria or scenarios. There is no mention of exclusions or when other assemblers would be preferred. This leaves usage largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assemble_mutual_ndaMutual NDA ComposerBRead-onlyIdempotentInspect
Mutual NDA Composer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-277-agreement-acceptance-binder. Open at: https://ainumbers.co/chaingraph/art-276-mutual-nda-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive nature. The description adds substantial behavioral details: inputs are processed transiently and not stored/logged/retained, deterministic execution, compute mode delegation rules, and the fact it exports an AP2 artifact. This goes beyond annotations and clarifies the safety profile and execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose, packed with infrastructure specifics (Cloudflare Workers, GPU, chain provenance, FV-status) that are likely irrelevant for most callers. The core purpose is front-loaded but the signal-to-noise ratio is low. It would benefit from separating infrastructure details from functional guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description covers compute modes, input handling, and output artifact format. It references the manifest for policy_parameters but does not explain what the mutual NDA contains. The absence of expected return format and domain details leaves some gaps, but the tool appears intentionally abstract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) is already documented. The description does not add meaningful new meaning to the parameters; it repeats compute mode behavior already in the enum description. Baseline 3 is appropriate when schema covers everything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence clearly state the tool composes a mutual NDA, and it distinguishes from sibling assemble_* tools by specifying 'mutual NDA'. The phrase 'OpenChainGraph compute node' adds context but the core purpose is unambiguous. However, the description is cluttered with infrastructure details that dilute focus on the primary action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly say when to use this tool versus alternatives. It mentions 'Output feeds: art-277-agreement-acceptance-binder' which hints at a chain context, but there is no direct guidance on choosing this tool over other assemble_* or bind_* tools. The compute mode instructions are relevant but not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assemble_ocg_evidence_bundleEvidence Bundle Tier LabelerARead-onlyIdempotentInspect
Evidence Bundle Tier Labeler: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-408-evidence-bundle-tier-labeler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which the description doesn't contradict. It adds valuable behavioral context: transient input processing ('not stored, logged, or retained'), deterministic execution, and the export of an AP2 artifact with execution_hash. It also discloses the FV-status receipt is a snapshot, not a subscription, which is a non-obvious behavioral trait. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long (about 7 sentences) but front-loads the core purpose and compute-node nature. Each sentence adds novel information: determinism, compute modes, transient processing, artifact export, URL, and FV-status receipt. Though verbose, it avoids redundancy, and the structure is logical—purpose first, then behavior, then operational details. It earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema and 4 parameters (0 required), the description covers what an agent needs: what it does, how compute modes affect execution, privacy guarantees, artifact export, and a verification URL. The special warning about synthetic inputs and the snapshot nature of the FV-status are included. There's also a reference to 'the tool's manifest' for policy_parameters fields, which is acceptable given the schema points there. No obvious missing operational information for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) already has a description in the schema. The tool description doesn't add much beyond the schema for parameter semantics; it mentions compute modes and execution_hash but doesn't elaborate on parameter specifics. Since coverage is high, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as an OpenChainGraph compute node for labeling evidence bundle tiers, with the title 'Evidence Bundle Tier Labeler' reinforcing the purpose. It distinguishes itself from siblings like assemble_aiuc1_evidence_pack and build_evidence_pack by mentioning 'attestation_mandate' and the compute node mechanics, but it doesn't explicitly contrast with a specific sibling, so the differentiation is implicit rather than named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete guidance on compute modes ('auto', 'server', 'browser') and when each applies, including the gpu:true delegation rule. It doesn't explicitly state when not to use this tool versus alternatives, but the compute-mode explanation effectively tells the agent how to invoke correctly. The warning to use synthetic/anonymised inputs is a clear usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_agent_directory_publish_readinessAgent Directory Publish Readiness DiagnosticCRead-onlyIdempotentInspect
Agent Directory Publish Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-133-agent-payment-rail-trust-crosswalk. Open at: https://ainumbers.co/chaingraph/art-134-agent-directory-publish-readiness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states inputs are processed transiently and not stored, logged, or retained, which aligns with readOnlyHint. It also mentions compute modes and deterministic behavior. However, it does not disclose potential error conditions or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating the same compute mode and chaining details multiple times. It appears templated and not tailored to this specific tool, containing redundant sentences. This makes it hard to extract the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's name suggests a domain-specific assessment, the description lacks essential context about what constitutes readiness, how to interpret results, or what inputs are relevant. It only covers technical compute binding, leaving the reader without a clear understanding of the tool's function. The absence of an output schema further reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides detailed descriptions for each parameter, including compute modes and parent hashes. The description itself does not add much beyond the schema, but the schema covers 100% of parameters. It references a manifest for policy_parameters field names, which adds some context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mentions 'Agent Directory Publish Readiness Diagnostic' but does not explain what 'publish readiness' means or what it checks. It focuses on compute binding and chaining mechanics, making the actual purpose vague. It does not distinguish from other assess_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only discusses compute modes and parent hashes, not decision criteria or context. No mention of scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_ai_act_conformityEU AI Act Credit-Scoring Conformity PackARead-onlyIdempotentInspect
EU AI Act Credit-Scoring Conformity Pack: OpenChainGraph compute node (model_governance). Regulatory deadline: 2027-12-02 (EU AI Act Annex III Part 5(b) — credit-scoring high-risk obligations fully apply 2 December 2027, per the Digital Omnibus amendments (Parliament final approval, June 2026)). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: ml-01-isolation-forest, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-05-eu-ai-act-credit-scoring-conformity.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations. Annotations say readOnlyHint=true and destructiveHint=false, but the description discloses the critical behavioral details: inputs are 'processed transiently to compute the response and are not stored, logged, or retained', which is a strong privacy statement. It also reveals the deterministic nature, the compute delegation behavior for browser mode, the export of an AP2 artifact with execution_hash, and the feeding of downstream outputs. It also mentions a regulatory deadline affecting behavior. However, it doesn't explicitly confirm idempotency (though annotations say idempotentHint=true) — the description does not contradict that. It also mentions a URL and FV-status receipt, adding provenance context. Given annotations already cover safety, this is strong added context, though it could have explicitly tied the transient processing to the readOnly annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and rich in detail, covering regulatory specifics, compute behavior, privacy guarantees, output links, and provenance. While every sentence adds value, the sheer length (over 200 words) is excessive for a tool description. A front-loaded summary would help: the purpose is announced in the first sentence, but the reader must wade through regulatory legalese, compute specifics, and URLs before reaching the privacy note and downstream feeds. It's well-organized but not concise; the regulatory deadline and compute details could be trimmed or structured. It earns a 3 for being information-dense but lacking the 'appropriately sized' aspect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (no output schema, multiple parameters, nuanced compute modes, regulatory implications), the description covers a lot: the regulatory context, compute modes, privacy guarantees, the output artifact type, downstream feeds, and a link for more detail. It even provides an FV-status receipt for verifiability. However, it doesn't explicitly describe the return value structure (though no output schema exists, it could mention what the response contains, e.g., an AP2 artifact with execution_hash — it does, but not the exact response envelope). It also doesn't specify error conditions or whether the `policy_parameters` object has any required fields (schema says none required overall). Given the complexity and absence of output schema, this is fairly complete, but a note on the response format or the main decision output would elevate it. It's slightly above the middle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already thoroughly documents all four parameters with 100% coverage, including the enum for compute and descriptions for parent_hashes, parent_tool_ids, and policy_parameters. The description adds semantic value by explaining the compute modes in prose ('auto' = server for gpu:false nodes with registered kernels, 'browser' returns delegation URL, gpu:true always delegates), which clarifies the enum's ambiguous values. It also hints that policy_parameters are 'computed server-side' and points to the tool's manifest for field names, which is complementary. However, it doesn't delve into the structure of policy_parameters beyond what schema states (which is minimal), so the onus is on the manifest. This is better than baseline because it clarifies the compute semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assesses conformity with the EU AI Act's credit-scoring provisions, naming the specific regulatory deadline (2027-12-02) and Annex III section. It identifies itself as an OpenChainGraph compute node and distinguishes its deterministic compute behavior. However, it does not explicitly differentiate itself from similarly-named siblings like `assess_ai_act_conformity`'s relatives (e.g., `run_ai_act_highrisk_fit`, `check_ai_act_art50_marking`), nor does it say what the output actually evaluates (conformity versus non-conformity, pass/fail, etc.). The verb is present but the specific assessment criterion could be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides substantial context about compute modes (auto/server/browser) and explicitly warns to use synthetic or anonymised inputs only, which is a usage guideline. However, it does not state when to use this tool versus its siblings (e.g., assess_ai_act_conformity vs run_ai_act_highrisk_fit or classify_annex3_decisioning_obligations). It doesn't say under what conditions an agent should choose this tool over another. The compute-mode guidance is useful but not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_circumvention_diligenceCircumvention Diligence AssessorARead-onlyIdempotentInspect
Circumvention Diligence Assessor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-94-eccn-dual-use-classifier. Output feeds: art-96-no-russia-clause-pack-builder, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-95-circumvention-diligence-assessor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint), the description discloses transient processing, that inputs are not stored/logged/retained, deterministic behavior, compute delegation rules (server vs browser), and export of an AP2 artifact with execution_hash. These are valuable operational details not captured in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured, leading with the core purpose and then detailing execution specifics. It includes a link and FV-status, which are useful, though some sentences could be trimmed without losing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers input handling, compute modes, output artifact (AP2 with execution_hash), provenance chain, and provides a link for more detail. Since there is no output schema, it gives a high-level description of the return, which is sufficient 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as each parameter is described in the schema. The description adds some contextual nuance (e.g., compute mode behavior, pointer to manifest for policy_parameters) but does not significantly deepen meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node for circumvention diligence, which is clear but relies on the title for the core action. It mentions 'compliance_mandate' and its position in the artifact chain (upstream/downstream), distinguishing it from other assess tools, but does not explicitly state 'assesses circumvention diligence' in a verb+resource form.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides constraints (use synthetic/anonymised inputs only) and explains compute modes, but lacks explicit guidance on when to select this tool over alternatives. It does not reference sibling tools or conditions for choosing this one, leaving usage decisions to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_cra_vuln_reporting_readinessCRA Vulnerability Reporting Readiness (Art. 14)BRead-onlyIdempotentInspect
CRA Vulnerability Reporting Readiness (Art. 14): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-139-cra-annex1-completeness-checker. Open at: https://ainumbers.co/chaingraph/art-140-cra-vuln-reporting-readiness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, and the description adds substantial behavior beyond that: deterministic execution, server vs browser compute modes, transient non-retained inputs, AP2 artifact export with execution_hash, and FV-status snapshot/offline verification. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and repetitive: 'OpenChainGraph compute node' appears twice, and compute-mode details duplicate the input schema. The valuable privacy and FV-status information is buried in a long block, making the description harder to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich execution mechanics, the description never explains what 'readiness' means, what the output artifact contains beyond execution_hash, or what fields policy_parameters requires—it defers to a manifest. With no output schema, an agent cannot fully determine the expected result or how to construct valid inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly restates compute-mode semantics already present in the schema and defers policy_parameters field names to a manifest, adding little meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node for CRA Vulnerability Reporting Readiness (Art. 14), but the actual assessment function is never stated with a specific verb like 'assess' or 'compute readiness'. It relies heavily on the title for meaning and does not differentiate itself from the many sibling assess_*_readiness tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context: it consumes upstream artifacts from art-139-cra-annex1-completeness-checker and instructs users to use synthetic or anonymised inputs only. However, it never explicitly states when to prefer this tool over alternatives or when not to use it, leaving the selection criteria largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_defi_lendingDeFi Lending Health and Liquidation MonitorARead-onlyIdempotentInspect
DeFi Lending Health and Liquidation Monitor: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-271-defi-lending-health.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond the annotations. It explains the `compute` parameter's effect on execution location. It clearly states data is processed transiently and not stored. It specifies the output is an 'AP2 artifact with execution_hash', which is a key contract detail. This substantially exceeds what annotations alone tell us.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads key info but gets mired in operational details (Cloudflare Workers, FV-status) and promotional copy ('Open at: ...'). The FV-status URL and explanation, while potentially important, consume almost half the description and feel out of place. This could be tighter or put this info behind a link. It works, but it's bloated and could be more focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an analytics tool with a full schema and clear annotations, this description is complete for the core use case: it covers the compute modes, data privacy, and output format. It's missing context on what 'DeFi Lending Health' means in practice (e.g., key metrics), and the LinkedIn/Cloudflare details are noise. But nothing critical is missing for a basic call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage of parameters, so the baseline is 3. The description adds useful context on the `compute` parameter ('auto' default, server vs. browser execution), and the overall privacy guidance explains why one might choose a particular mode. The FV-status detail also adds context on output verification. It doesn't explain `parent_hashes` or `parent_tool_ids` beyond the schema, but the schema covers these fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool monitors DeFi lending health and liquidation, and that it's an OpenChainGraph compute node. The title reinforces this. While it provides the resource and purpose, it doesn't explicitly differentiate from siblings like `run_chain`, `build_chaingraph`, or other `assess_*` tools, which is a missed opportunity for clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There's an implicit indication of use (with the compute modes), but no explicit statement about when to use this versus alternatives. While an agent could infer from the 'analytics_mandate' that this is for analytics, the description misses the chance to explicitly state what use cases this tool is for versus siblings, such as whether it's for on-demand checks vs. batch analysis. The FV-status link and note about privacy are good but don't fully cover usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_iso42001_aims_conformanceISO 42001 AIMS Clause ConformanceBRead-onlyIdempotentInspect
ISO 42001 AIMS Clause Conformance: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-172-ai-risk-impact-assessment-validator. Open at: https://ainumbers.co/chaingraph/art-171-iso42001-aims-clause-conformance.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses substantial behavior beyond the annotations: compute modes ('auto' vs 'browser' with server-side execution on Cloudflare Workers), transient processing ('not stored, logged, or retained'), output characteristics ('Exports an AP2 artifact with execution_hash'), and a verification mechanism (FV-status snapshot). This goes well beyond the read-only/idempotent hints and helps the agent understand side effects and execution context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense; every sentence contributes distinct information (purpose, compute behavior, data handling, output, links). It front-loads the title and node type, then layers technical detail. Slightly overpacked, but no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits what the tool actually returns as a conformance assessment — it mentions an execution_hash but not a verdict or structured result. It also fails to describe what inputs should go into policy_parameters, leaving the agent unable to construct a valid request. With no output schema and a vague parameter schema, the description is incomplete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all four parameters with descriptions, and the description echoes the compute enum without adding new meaning. For policy_parameters, the schema already defers to 'See the tool's manifest', and the description does not fill that gap. Schema coverage is 100%, so the description is not required to compensate, but it also adds no extra semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'ISO 42001 AIMS Clause Conformance' and the tool name 'assess_iso42001_aims_conformance' suggest it assesses conformance, but the description itself never explicitly states that it evaluates conformity or what a result looks like. It focuses on compute mechanics ('OpenChainGraph compute node', 'compute binding') rather than the assessment outcome, leaving the core purpose implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool versus the many sibling 'assess_*' tools (e.g., assess_ai_act_conformity). The only usage instruction is 'Use synthetic or anonymised inputs only,' which is an input constraint, not a tool-selection guideline. There is no mention of prerequisites, exclusions, or conditions under which an alternative is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_mar_crypto_surveillanceMAR-Crypto Surveillance-Readiness AssessorBRead-onlyIdempotentInspect
MAR-Crypto Surveillance-Readiness Assessor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-98-mica-casp-fit-diagnostic. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-103-mar-crypto-surveillance-readiness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and the description adds meaningful behavior on top without contradicting: deterministic execution, 'processed transiently... not stored, logged, or retained', server/browser routing semantics for the compute param, and the FV-status receipt being 'a snapshot, not a subscription'. The description also previews cross-tool provenance ('Exports an AP2 artifact with execution_hash'), which deepens the agent's trust model. No contradiction — annotation_contradiction is false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences both say 'OpenChainGraph compute node', which is repetitive and not informative. The description is dense with infrastructure noise — Cloudflare Workers, GPU flags, FV-status receipts, market URLs — while the signal an agent needs (determinism, no-retention guarantee, DAG placement) sits buried in the middle. A tightened version that front-loads 'deterministic, read-only, no retained inputs, part of compliance_mandate chain' would be a major improvement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description bears the full burden of explaining return shape, but it only promises 'an AP2 artifact with execution_hash' — leaving the agent blind to the assessment structure. For a compliance/surveillance tool, the description provides no detail on which surveillance dimensions or controls are evaluated, and 'See the tool's manifest' sends the agent nowhere it can follow. Offering FV-status and DAG pointers is nice, but the core 'what does this assess and what do I get back' question goes unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents all four params; the description doesn't add meaning for parent_hashes or policy_parameters beyond that. The one real addition is the compute-mode explanation ('auto = server for gpu:false nodes with registered kernels'), which does clarify the compute enum. However, policy_parameters defers to 'the tool's manifest' — a resource an agent at runtime cannot access — which is a missed opportunity to encode that semantic meaning directly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does name a specific verb-resource pair ('MAR-Crypto Surveillance-Readiness Assessor') and a compute mechanism, but it leans on implementation detail ('OpenChainGraph compute node (compliance_mandate)') rather than telling an agent what an assessment checks or what makes it distinct. Crucially, the agent cannot distinguish this from siblings like run_mica_casp_fit or assess_mica_casp_readiness without opening the schema — and with ~400 siblings, that's a real miss. Purpose is clear at a high level, but differentiating context is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides genuine contextual signal for when this tool runs: it sits in a DAG ('Consumes upstream artifacts from: art-98-mica-casp-fit-diagnostic. Output feeds: cry-05-agent-action-audit-trail-aggregator'), which is useful placement info an agent can reason about. It also states a hard constraint ('Use synthetic or anonymised inputs only'). However, it stops short of explicit when-to-use vs alternatives — it never says 'use this instead of run_mica_casp_fit when X' — and gives no exclusions or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_mica_casp_readinessCASP Authorization-Readiness AssessorARead-onlyIdempotentInspect
CASP Authorization-Readiness Assessor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-98-mica-casp-fit-diagnostic, art-99-mica-transitional-deadline-router. Output feeds: art-101-mica-art67-own-funds-calculator, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-100-mica-casp-authorization-readiness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description discloses determinism, transient processing with no storage/logging/retention, server-side vs browser delegation behavior, AP2 artifact export with execution_hash, upstream/downstream chain relationships, and FV-status as a snapshot rather than a subscription. No information contradicts the readOnlyHint or idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but somewhat long and repetitious, repeating the 'OpenChainGraph compute node' framing. Operational details like the full URL and FV-status hash are packed into long trailing sentences, so the message is structured but not tightly front-loaded around the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with zero required parameters and an execution-model, the description covers compute binding, privacy, provenance, artifact flow, and verification status. The main gap is the output side: there is no output schema, and description only hints at the output via the AP2 artifact without explaining what the readiness assessment actually returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents all four parameters with descriptions, so the baseline is 3; the tool description itself adds very little parameter-level meaning beyond the schema. The policy_parameters object remains an opaque bag whose actual field names are deferred to the tool manifest, which limits semantic completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and description clearly identify the role of the tool as a CASP authorization-readiness assessor and locate it as an OpenChainGraph compute node with a compliance mandate. It is not a tautology, but the description does not give a crisp functional sentence about what the readiness output actually means, and it does not distinguish this tool from related siblings such as run_mica_casp_fit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage context: it is a chain node consuming art-98 and art-99, feeding art-101 and cry-05, and it instructs users to supply synthetic or anonymized inputs only. It does not explicitly tell the agent when to use this tool instead of related assess/fit/route siblings, and no when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_model_validation_statusModel Validation Status AssessorARead-onlyIdempotentInspect
Model Validation Status Assessor: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-451-model-outcome-analysis. Open at: https://ainumbers.co/chaingraph/art-453-model-validation-status.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and non-destructive. Description goes beyond: explains deterministic behavior, processing is transient (not stored/logged/retained), compute routing semantics, and the FV-status receipt being a snapshot not a subscription. This significantly exceeds what annotations provide alone. Minor gap: no mention of rate limits or authorization requirements (though the FV-status URL and OpenChainGraph context imply public read access).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very long and dense, mixing multiple concerns (computing semantics, data handling, artifact provenance, FV-status receipt URL). It front-loads the compute node identity but then buries a critical safety instruction ('Use synthetic or anonymised inputs only') in the middle. While every sentence carries information, it lacks structural hierarchy; a human or agent would benefit from bullet points or clearer sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested policy_parameters object, compute routing), the description covers the main points: compute modes, transient processing, parent hash chaining, artifact export, upstream consumption, and FV-status snapshot. But there's no output schema, so the agent doesn't know what the response looks like (beyond 'browser delegation URL' or an AP2 artifact). Also missing: what happens on failure, what the AP2 artifact name/semantics is, or how to handle errors — for a tool this intricate, that's a gap. The FV-status URL and long hash add operational detail but don't tell the agent how to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — every parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) already has a description in the schema. Description adds context on compute modes and policy_parameters server-side computation, but mostly restates the schema. Per the rule, baseline is 3 since schema coverage is high; no additional benefit beyond restating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state this is a compute node for model validation status assessment, part of the OpenChainGraph compliance_control infrastructure. It distinguishes itself as a deterministic node with a specific artifact export (AP2 with execution_hash). However, it does not explicitly differentiate from any specific sibling tools — it's hard to tell exactly which of the many nearby tools (like assess_iso42001_aims_conformance, run_model_test_battery) it should be used instead of. The description reads more like an infrastructure/specification document than a plain-language purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit behavioral routing: compute:"auto" defaults to server-side for gpu:false nodes with registered kernels; "browser" forces client-side and returns a delegation URL; gpu:true always delegates to browser. It also states inputs are transient and not stored, and instructs to use synthetic or anonymized inputs only — a clear guideline for safe invocation. It names the upstream artifact it consumes (art-451) and provides the artifact URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_naic_ais_program_readinessNAIC AI Systems Program Readiness AssessmentCRead-onlyIdempotentInspect
NAIC AI Systems Program Readiness Assessment: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-239-test-bifsg-bias-thresholds. Open at: https://ainumbers.co/chaingraph/art-240-assess-naic-ais-program-readiness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent. The description adds that inputs are 'not stored, logged, or retained' and advises using synthetic data, which provides additional behavioral context. However, the description is verbose and includes confusing jargon about 'OpenChain compute nodes' that obscures the behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long and repetitive, including URLs, hashes, and generic template text. It is not front-loaded with the core purpose and reads like a dump of metadata. Structure is poor, with run-on sentences and irrelevant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description does mention it exports an AP2 artifact with an execution_hash, giving some output context. However, it does not explain what the artifact contains or what 'readiness' means. The description is more about the compute framework than the actual assessment, leaving the core purpose incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover 100% of parameters, with compute and parent_hashes reasonably explained. policy_parameters is vague, referring to 'the tool's manifest.' The description repeats compute mode details but adds nothing for the other parameters, so the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title indicates assessment of NAIC AI Systems Program readiness, but the description is dominated by infrastructure details (compute modes, parent hashes, AP2 artifacts) and never clearly states what the tool actually evaluates or produces. It fails to distinguish itself from the many other 'assess_*' sibling tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It discusses compute modes and chain provenance but does not mention scenarios where NAIC readiness assessment is needed or how it differs from similar assessment tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_psd3_readinessPSD3 / PSR Readiness CheckerARead-onlyIdempotentInspect
PSD3 / PSR Readiness Checker: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2027-06-01 (EU PSD3 expected transposition ~2027; UK PSR enacted 2024 (APP reimbursement Oct 2024 already live)). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-04-agent-identity-attestation-checker, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-14-psd3-psr-readiness-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses crucial runtime behavior: 'Inputs are processed transiently to compute the response and are not stored, logged, or retained', gives an explicit usage directive ('Use synthetic or anonymised inputs only'), describes compute routing, chain provenance ('Exports an AP2 artifact with execution_hash'), and covers the FV-status verification mechanism with snapshot semantics. This meaningfully enriches the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but unstructured and contains redundancy: 'OpenChainGraph compute node' appears verbatim twice ('compliance_mandate' wrapper and 'Deterministic OpenChainGraph compute node'). Compute-mode behavior is restated in both the description and the schema. The ~250-word run-on crams regulatory deadlines, platform details, provenance, URLs, and verification logic into one block without paragraph breaks. Every sentence carries information, but the wall-of-text presentation and duplication keep it from being efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers a great deal: computation semantics, data-retention posture, the synthetic-input directive, the AP2 artifact output with execution_hash, and downstream consumers. The remaining gap is the shape of the full response envelope (e.g., how the browser delegation URL is returned alongside the artifact, or what the readiness decision response looks like) — a modest omission given the otherwise rich coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) already has informative descriptions. The tool description does little to enrich parameter understanding — its compute-mode prose largely mirrors the schema's own documentation ('By default (compute:"auto") inputs are computed server-side...'). The only marginal addition is pointing policy_parameters consumers to 'the tool's manifest for field names'. Per the high-coverage baseline of 3, this is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear, specific subject ('PSD3 / PSR Readiness Checker') and grounds it in concrete regulatory detail: 'Regulatory deadline: 2027-06-01 (EU PSD3 expected transposition ~2027; UK PSR enacted 2024 (APP reimbursement Oct 2024 already live))'. It further positions the tool in a pipeline by naming its output feeds ('art-04-agent-identity-attestation-checker, ptg-01-ap2-prompt-template-generator'), which differentiates it from the many sibling readiness checkers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames when to use this tool (PSD3/PSR readiness assessment with a hard regulatory deadline) and explains execution-context behavior ('compute:"auto" inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel'). However, it never explicitly contrasts itself with the numerous sibling readiness tools (run_dora_readiness_diagnostic, run_vida_readiness_diagnostic, etc.), leaving the agent to infer differentiation from the regulatory framing alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_restaking_riskRestaking Delegation and Slashing Risk AnalyzerBRead-onlyIdempotentInspect
Restaking Delegation and Slashing Risk Analyzer: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-272-restaking-risk.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: deterministic execution, server vs browser compute delegation, transient input processing with no storage or logging, and AP2 artifact export with execution_hash for provenance. It also explicitly warns to use synthetic or anonymised inputs. This meaningfully exceeds what readOnlyHint and idempotentHint already communicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and contains redundancy, including the repeated 'OpenChainGraph compute node' phrasing in the first two sentences. It also buries practical invocation information under a long FV-status URL and snapshot discussion that is not needed for selecting or calling the tool. It is structured, but not concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the returned risk assessment contains or how policy_parameters should be populated; the schema punts on this with 'See the tool's manifest for field names.' The description covers compute modes and data handling well but leaves the core analytical contract under-specified for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains compute, parent_hashes, parent_tool_ids, and policy_parameters in reasonable detail. The description mostly restates compute-mode behavior already present in the schema and adds only a general privacy warning about synthetic inputs. It does not add field-level meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title make the intended domain clear: assessing restaking delegation and slashing risk. The description adds that it is a deterministic OpenChainGraph compute node exporting an AP2 artifact, which gives some functional identity. However, it never plainly states what analysis is performed or what the result represents, so it is clear but not fully explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and names no alternatives among the many assess_*, compute_*, or run_* sibling tools. The compute-mode explanation is operational detail, not selection guidance. The only usage constraint is 'use synthetic or anonymised inputs only', which is not enough to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_suspect_product_statusDSCSA Suspect/Illegitimate Product Quarantine AssessorCRead-onlyIdempotentInspect
DSCSA Suspect/Illegitimate Product Quarantine Assessor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-113-saleable-returns-verifier. Open at: https://ainumbers.co/chaingraph/art-114-suspect-product-quarantine.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations: it explicitly states determinism, transient processing with no storage/logging/retention, the requirement to use synthetic or anonymised inputs, the export of an AP2 artifact with execution_hash for chain provenance, and the FV-status snapshot verification behavior. These details go beyond the readOnlyHint, idempotentHint, and destructiveHint annotations, providing the agent with important safety and provenance information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and includes many technical details (compute modes, Cloudflare Workers, browser delegation, AP2 artifact, FV-status URL). While it is structured and includes some front-loaded information, it is not concise; several sentences could be streamlined (e.g., the URL and FV-status details might be better placed in separate metadata). It is adequately organized but longer than necessary for an MCP description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the high parameter count and nested object, the description leaves critical gaps: it does not specify what the tool actually computes or the structure of policy_parameters (only pointing to a manifest), and it does not describe the response/output. The agent lacks enough information to correctly invoke the tool, especially how to construct the policy_parameters object. The provenance and compute details are useful but do not compensate for the missing functional specification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds some context by mentioning 'Consumes upstream artifacts from: art-113-saleable-returns-verifier,' which hints at what parent_hashes should reference. However, it does not elaborate on the meaning of policy_parameters, merely directing to 'the tool's manifest.' Thus, the description adds marginal value beyond the schema but does not fully compensate for gaps in explaining the policy_parameters object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'DSCSA Suspect/Illegitimate Product Quarantine Assessor' and as a compute node, but it never explicitly states what it does (e.g., 'assesses whether a product is suspect/illegitimate and determines quarantine status'). The focus is on execution mechanics (compute modes, browser delegation) rather than the core functionality. While not a tautology, the purpose is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention any related sibling tools (e.g., verify_dscsa_transaction_statement, verify_product_authenticity) or state conditions for using this tool over others. It only explains compute mode selection, which is about internal execution rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_traiga_exposureTRAIGA Exposure AssessorARead-onlyIdempotentInspect
TRAIGA Exposure Assessor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-314-traiga-safe-harbor-pack-builder. Open at: https://ainumbers.co/chaingraph/art-313-traiga-exposure-assessor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context: inputs are processed transiently and not stored/logged/retained, outputs are deterministic and produce an AP2 artifact with execution_hash, and the FV-status receipt is a snapshot not a subscription. This goes beyond the annotations and helps the agent understand side effects, privacy, and provenance behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence carries load-bearing information: identity, determinism, execution modes, transient processing, output artifact, downstream feed, URL, and verification status. The long verification hash and URL add specificity but make it slightly heavy; the structure is front-loaded with the core identity and execution semantics. It earns a high score but loses one point for the abrupt embed of the FV-status URL/hash without labeling it as a separate verification consideration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, read-only, idempotent compute node with no output schema, the description is largely complete: it explains what the tool does, how compute is selected, what the output feeds, and how to verify the artifact. The only gap is that it never explains what TRAIGA exposure assessment actually evaluates or what inputs are expected beyond generic policy_parameters; an agent may not know what to pass. The high schema coverage and clear behavioral guarantees reduce the severity of that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 well, including the compute enum semantics and parent_hashes/parent_tool_ids chaining. The description adds value by explaining the compute modes at a higher level (auto/server/browser, gpu:false vs gpu:true) and noting that policy_parameters are computed server-side depending on kernel registration. It doesn't enumerate policy_parameters fields, but it correctly defers to the manifest. With full schema coverage and the added compute-mode context, a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and operation: it is a deterministic OpenChainGraph compute node for TRAIGA exposure assessment under a compliance mandate. It distinguishes itself from siblings by naming its output feed (art-314-traiga-safe-harbor-pack-builder) and providing a direct URL. It is clear this is a compute/assessment tool, not a check or build tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when server-side vs browser-side execution occurs: default 'auto' computes server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; 'browser' forces client-side and returns a delegation URL; gpu:true always delegates. It also warns to use synthetic or anonymised inputs only. It doesn't name sibling alternatives, but for this unique compute node the execution-mode guidance is the key usage context and it is fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_vida_drr_reporting_obligationViDA DRR Transaction ReporterCRead-onlyIdempotentInspect
ViDA DRR Transaction Reporter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-159-vida-einvoice-en16931-conformance-validator. Output feeds: art-161-vida-recapitulative-statement-migration-assessor. Open at: https://ainumbers.co/chaingraph/art-160-vida-drr-transaction-reporter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint, idempotentHint, and destructiveHint annotations, the description discloses determinism, transient processing with no storage or retention, server-side Cloudflare Workers execution versus browser delegation, and the gpu:true delegation rule. It also explains the AP2 artifact export with execution_hash and that the FV-status receipt is a snapshot, not a subscription. No statement contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and roughly ordered from compute behavior to privacy to provenance, but it repeats OpenChainGraph compute node and includes a long FV-status aside that is tangential to calling the tool. Trimming redundant qualifications would make the core selection signals easier to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does indicate that an AP2 artifact with execution_hash is exported and provides upstream and downstream artifact IDs, a URL, and an FV-status link. However, it does not describe how the reporting-obligation result is represented, what policy_parameters fields are valid, or whether parent_hashes and parent_tool_ids are required for a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline applies because the schema already documents compute, parent_hashes, parent_tool_ids, and policy_parameters. The description's compute-mode explanation mostly duplicates the schema enum descriptions and adds little about the parent_hashes or parent_tool_ids fields. policy_parameters contents are still deferred to an external manifest rather than clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with ViDA DRR Transaction Reporter and OpenChainGraph compute node, which mostly restates the tool's name and title rather than stating what assessment it performs. It never clearly says whether this tool determines if a ViDA DRR reporting obligation applies or what business conclusion the returned artifact supports. The upstream and downstream artifact references hint at its position in a compliance chain but do not define the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute-mode selection and instructs users to provide synthetic or anonymized inputs, but these are operational constraints rather than criteria for choosing this tool over siblings. It does not name related alternatives such as assess_vida_recapitulative_migration or validate_vida_einvoice_conformance, and it does not state the scenario in which the DRR reporter is the correct node to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_vida_recapitulative_migrationViDA Recapitulative Statement Migration AssessorCRead-onlyIdempotentInspect
ViDA Recapitulative Statement Migration Assessor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-160-vida-drr-transaction-reporter. Open at: https://ainumbers.co/chaingraph/art-161-vida-recapitulative-statement-migration-assessor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: deterministic execution, server-side vs. browser-side compute delegation, transient non-retained input processing, AP2 artifact export with execution_hash, and upstream artifact consumption. These details enrich the readOnly/idempotent/non-destructive hints without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, but it repeats 'OpenChainGraph compute node' in the first two sentences and includes long provenance/FV-status details that are not essential for invocation. It is structured in useful chunks, though some redundancy and peripheral detail could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich provenance and compute-mode detail, the description omits what the assessment output actually looks like and does not explain how to populate policy_parameters. With no output schema and a nested policy_parameters object, an agent would struggle to know what a successful response contains or how to construct a meaningful request beyond choosing compute mode.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 reinforces the compute-mode semantics already present in the compute parameter but adds no field-level meaning for parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as an 'OpenChainGraph compute node' with a 'compliance_mandate' and notes that it consumes upstream artifacts and exports an AP2 artifact, but it never states what actually gets assessed or what a 'recapitulative statement migration assessment' produces. This largely restates the name with technical jargon, so an agent cannot distinguish its domain function from the title alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The only usage-related content covers compute-mode behavior and a synthetic/anonymised input warning, but nothing routes the agent away from sibling tools like assess_vida_drr_reporting_obligation or run_vida_readiness_diagnostic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attest_bulk_disbursement_integrityBulk Disbursement IntegrityARead-onlyIdempotentInspect
Bulk Disbursement Integrity: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-518-bulk-disbursement-integrity.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Substantial behavioral disclosure beyond the annotations: inputs are processed transiently and never stored/logged/retained, the tool is deterministic, gpu:true forces browser delegation, and the FV-status receipt verifies offline as a snapshot rather than a subscription. None of these contradict the readOnlyHint, idempotentHint, or destructiveHint annotations, and they materially enrich the agent's understanding of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and efficient, front-loading purpose and determinism before compute semantics, data handling, and export behavior. Minor redundancy ('OpenChainGraph compute node' appears twice in the first two sentences) and the inline URLs add noise, but the overall structure is compact and purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a composable attestation tool with no output schema, the description covers compute routing, ephemeral data handling, input hygiene, artifact export with execution_hash, and offline verification — a strong baseline. Gaps remain: the actual attestation logic and policy_parameters field names are deferred to an external manifest, and the output artifact structure beyond execution_hash is unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the schema already documents all four parameters, including compute enum semantics, parent_hashes execution_hashing references, parent_tool_ids ordering, and policy_parameters as tool-specific input. The description echoes the compute behavior without adding new parameter meaning, keeping this dimension at the baseline for fully-covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: an OpenChainGraph compute node performing an attestation related to bulk disbursement integrity, exporting an AP2 artifact. It positions the tool as a deterministic attestation compute node, which distinguishes it from the broader sibling set. However, it never explains what 'bulk disbursement integrity' actually verifies or what claim the attestation makes, leaving the core semantic to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete guidance on how to use the tool: compute mode routing (server-side vs. browser delegation for gpu:true nodes) and the notable constraint 'Use synthetic or anonymised inputs only.' It does not state when to use this tool versus alternative attest_* siblings, nor any when-not-to-use conditions, so the guidance is operational rather than selective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attest_calc_agent_independenceCalculation-Agent Independence AttestationARead-onlyIdempotentInspect
Calculation-Agent Independence Attestation: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-559-attest-calc-agent-independence.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| trigger_ref | No | |
| calc_agent_id | No | |
| disclosure_note | No | |
| rejected_inputs | No | |
| interested_parties | No | |
| independence_asserted | No | |
| relationship_declaration | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses that inputs are transient and not stored, logged, or retained. It also explains the deterministic nature, the compute binding behavior, and the export artifact with execution_hash. This provides excellent transparency about side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat verbose, containing URLs and technical details, but it is well-structured. It starts with a title, then explains the core concept, compute modes, input handling, and outputs. While dense, it avoids redundancy and each sentence adds information. A score of 4 reflects a balance between thoroughness and conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all key aspects: the tool's role, compute behavior, input handling, output artifact, and even a usage constraint (synthetic inputs). Given the complexity of the parameters and the existence of an output schema, the description is sufficiently complete for an agent to understand when and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with 100% coverage. The description adds meaningful context for the compute parameter, explaining the default behavior and delegation logic. It also hints at policy_parameters via the manifest reference, but does not elaborate further. Since schema coverage is high, a score of 4 is appropriate for the added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to attest calculation-agent independence via an OpenChainGraph compute node. It specifies the verb 'attest' and the resource, and distinguishes itself by mentioning attestation_mandate and AP2 artifact export with execution_hash for provenance. This is specific enough to differentiate from the many sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage guidance for compute modes (auto/server/browser) and explicitly instructs to use only synthetic or anonymised inputs. It explains conditions for server-side vs browser delegation (gpu:false vs gpu:true nodes). However, it does not explicitly state when to prefer this tool over its many alternatives, but the specific attestation focus gives enough context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attest_daily_reconciliationDaily Reconciliation AttestationARead-onlyIdempotentInspect
Daily Reconciliation Attestation: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-516-daily-reconciliation-attestation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial context beyond the annotations: determinism, server-side compute on Cloudflare Workers, browser delegation, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and FV-status snapshot semantics. This is rich behavioral disclosure, and it does not contradict the readOnly, idempotent, or non-destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful, front-loading the tool identity and then covering compute modes, data handling, artifact export, and verification status. Some clauses, such as the FV-status snapshot explanation, are verbose, but they contribute meaningful operational context for a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains compute behavior, transient input handling, artifact export, and verification status, which covers much of the operational context. However, without an output schema, it does not fully describe the return structure, and it defers policy_parameters field names to a manifest that is not provided. It also does not explain what the daily reconciliation attestation certifies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents all four parameters. The description adds useful compute-mode context, especially around server vs. browser execution, but it mostly reiterates the compute enum semantics rather than adding deeper meaning to parent_hashes, parent_tool_ids, or policy_parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a deterministic OpenChainGraph compute node that attests daily reconciliation and exports an AP2 artifact with execution_hash for chain provenance. This is clear enough as an attestation/provenance operation, though it does not distinguish itself from the many attest_* and reconcile_* sibling tools or explain what the daily reconciliation attestation actually validates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed compute-mode behavior but no when-to-use guidance versus alternative tools. There is no mention of when this tool should be preferred over siblings like adjudicate_emir_reconciliation or check_safeguarding_reconciliation, and the only usage constraint is the synthetic/anonymised inputs requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attest_margin_call_lifecycleMember Margin Call LifecycleBRead-onlyIdempotentInspect
Member Margin Call Lifecycle: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-531-member-margin-call-lifecycle.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are 'processed transiently' and 'not stored, logged, or retained', users are told to use 'synthetic or anonymised inputs only', and the tool is described as deterministic. It also discloses the AP2 artifact export with execution_hash and explains that the FV-status receipt is a snapshot that 'verifies offline'. This goes well beyond the readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and covers many aspects, but it contains redundancy: 'OpenChainGraph compute node' appears twice in the first two sentences. The FV-status explanation is lengthy and somewhat tangential. While each sentence carries some information, the structure could be tighter and more front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, data handling, provenance, and verification, but it leaves important gaps for a complex tool with no output schema. It does not explain the response structure beyond 'AP2 artifact with execution_hash', and it defers policy_parameters field names to an external manifest ('See the tool's manifest for field names'), which is not self-contained. An agent would need additional information to construct valid inputs confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some prose about compute mode behavior and parent_hashes chaining, but these largely mirror the schema descriptions. No additional parameter semantics, such as format constraints or examples, are provided beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (attestation_mandate)' for 'Member Margin Call Lifecycle', but it never states a clear verb+resource like 'computes an attestation for the margin call lifecycle'. The purpose is implied through the name and technical framing rather than explicitly described. It also does not differentiate itself from the many sibling 'attest_*' tools beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The compute mode explanation ('auto', 'server', 'browser') is parameter-level usage guidance, not tool-selection guidance. There are no exclusions, prerequisites, or mentions of sibling tools that might be more appropriate in specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_acp_ucp_product_feedACP/UCP Product-Feed Conformance AuditorCRead-onlyIdempotentInspect
ACP/UCP Product-Feed Conformance Auditor: OpenChainGraph compute node (scheme_rule). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-19-agentic-checkout-protocol-selector. Output feeds: art-21-agent-traffic-acceptance-policy-builder, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-20-acp-ucp-product-feed-conformance-auditor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral disclosure beyond the annotations: inputs are processed transiently and not stored/logged/retained, an AP2 artifact with execution_hash is exported, compute modes (auto/server/browser) are explained, and a recommendation to use synthetic or anonymised inputs is given. These details go beyond the readOnly/idempotent/destructive hints and provide meaningful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes repeated phrases ('OpenChainGraph compute node' appears twice) and extraneous details like a URL and an FV-status link that may not be necessary for invocation. While it is logically ordered, the length and repetition reduce conciseness, and the most useful information (compute modes) is not front-loaded enough.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an auditor tool, the description does not clearly explain the output format of the audit (e.g., conformance report, pass/fail, list of violations). It mentions exporting an AP2 artifact with execution_hash but not what the artifact contains. Given there is no output schema, this is a significant gap for an agent needing to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The description adds value for the 'compute' parameter by clarifying the default behavior and the 'browser' delegation URL, but does not elaborate on parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema states. Overall it supplements but does not significantly exceed the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the title and then states it is an 'OpenChainGraph compute node (scheme_rule)' and 'Deterministic OpenChainGraph compute node,' which largely restates the name rather than explaining the audit action. The purpose of auditing ACP/UCP product-feed conformance is implied by the title but never explicitly articulated, leaving an agent to infer what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus any sibling audit tools. The description focuses entirely on compute modes, provenance, and security, but never states a use case, prerequisite, or exclusion criteria, so an agent has no help deciding between this and e.g. audit_agent_key_rotation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_agent_key_rotationAgent Key Rotation AuditorARead-onlyIdempotentInspect
Agent Key Rotation Auditor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-133-agent-payment-rail-trust-crosswalk. Open at: https://ainumbers.co/chaingraph/art-132-agent-key-rotation-auditor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable context: inputs are transient and not stored/logged/retained, execution is deterministic, and the tool exports an AP2 artifact with execution_hash for chain provenance. Also explains browser delegation instead of server computation. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and packs in important details like links, FV-status, and execution_hash. But it repeats 'OpenChainGraph compute node' across the first two sentences, and the trailing FV-status/receipt sentence is heavy with hash URLs that could distract from core selection information. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining artifact export, browser delegation behavior, and offline-verifiable snapshot. It covers compute semantics, input treatment, and chain provenance. It does not detail what the audit decision output contains, but the artifact+execution_hash description plus the schema are likely sufficient for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds a bit beyond the schema by explaining compute modes ('browser forces client-side execution and returns a browser delegation URL') and transient processing of inputs. But it doesn't clarify parent_hashes/policy_parameters beyond what the schema already gives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as an 'Agent Key Rotation Auditor' and an OpenChainGraph compute node with a compliance mandate. It distinguishes the tool's scope by describing its output feed and artifact. However, it does not explicitly state what the audit checks (e.g., rotation compliance rules), so some inference is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear execution guidance: compute mode selection ('auto', 'server', 'browser'), server vs. browser delegation semantics, and the explicit instruction 'Use synthetic or anonymised inputs only.' It does not specify when to prefer this tool over sibling auditors, so it falls short of explicit when/when-not alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_mcp_oauthMCP OAuth 2.1 Authorization AuditorARead-onlyIdempotentInspect
Audit MCP OAuth 2.1 authorization: validate RFC 9728 protected-resource-metadata, check RFC 8707 audience binding, and assess token-passthrough / confused-deputy risk. Use when a developer is securing an MCP server's authorization. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | No | |
| findings | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent. The description adds critical context: runs client-side, zero PII, zero network, renders interactive widget. This goes well beyond annotations, providing full disclosure of behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two densely informative sentences with no wasted words. Front-loaded with the purpose, then usage, then behavioral details. Perfect structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, behavioral traits, and parameter semantics. Output schema exists so return values need not be described. A minor gap: the term 'AINumbers tool' is not explained, but given the sibling 'list_ainumbers_tools', it's likely known. Overall very complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; baseline 3. The description adds meaning by explaining that inputs come from the manifest input_schema and are applied via AIN Bridge prefill, clarifying the parameter's role beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states specific RFC validations (9728, 8707) and risk assessment (token-passthrough/confused-deputy), clearly distinguishing it from siblings like 'audit_mcp_tool_scope_revocation' and 'validate_mcp_authorization_metadata'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use when a developer is securing an MCP server's authorization,' providing clear context. Could be stronger by explicitly noting when not to use it or comparing to related siblings, but the guidance is effective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_mcp_tool_scope_revocationMCP Tool Scope & Revocation AuditorCRead-onlyIdempotentInspect
MCP Tool Scope & Revocation Auditor: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-151-agent-obo-mandate-validator. Open at: https://ainumbers.co/chaingraph/art-150-mcp-tool-scope-revocation-auditor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by disclosing that inputs are processed transiently and not stored, logged, or retained, and that synthetic or anonymised inputs should be used. It also details compute behavior (server-side vs browser delegation) and mentions exporting an AP2 artifact with execution_hash for provenance. This is additional context beyond the readOnly/idempotent hints, and no contradictions with the annotations are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and includes many non-essential details such as the URL and FV-status hash, which are irrelevant to actually calling the tool. It is not front-loaded with the core purpose; instead, it dives into compute binding and provenance, making it harder for an agent to quickly extract the essential usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a verbose description, it lacks a clear explanation of what the tool actually does (what 'scope revocation' means, what the decision function evaluates). With no output schema, the agent is left uncertain about the return format beyond the mention of an AP2 artifact. It does not explain how policy_parameters should be formed or what constitutes valid input, leaving the tool under-specified for a complex audit function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for all four parameters (100% coverage), so the baseline is 3. The description does not add any meaning beyond the schema; it merely repeats the compute-mode explanation in prose. It does not clarify the semantics of parent_hashes or policy_parameters beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description state it is a 'MCP Tool Scope & Revocation Auditor' and an 'OpenChainGraph compute node', but the description never explains what 'scope revocation' auditing actually entails or what decision function it computes. It focuses on compute modes and provenance rather than the core purpose, leaving the agent to infer its function from the name alone. It does not distinguish itself from the many other audit/validate siblings, such as audit_mcp_oauth or validate_mcp_server_identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description mentions compute modes and FV-status but provides no context about when a user should select this auditor over other audit tools. There is no mention of exclusions, prerequisites, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
baas_provider_comparatorBaaS Provider ComparatorARead-onlyIdempotentInspect
Score and compare BaaS providers across 10 capability dimensions (regulatory standing, programme management, card issuance, rails, KYC/KYB, disputes, developer experience, pricing, FDIC pass-through, compliance tooling) with a user-adjustable 1-5 weighting matrix. Outputs a weighted comparison matrix and Markdown evaluation memo. Browser-based, client-side only, zero PII. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: browser-based, client-side only, zero PII, zero network, and renders the AINumbers widget. This goes beyond annotations and fully discloses execution environment and privacy characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with purpose and dimensions, and each sentence earns its place. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's complexity (10 dimensions, weighting matrix, client-side execution), the description covers purpose, dimensions, output (weighted comparison matrix and Markdown memo), execution environment, privacy, and integration details. With an output schema present, the description is fully adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'inputs', with a description that explains it is a map of input element IDs to values. The tool description adds context about how inputs are applied via AIN Bridge prefill, which enhances understanding of the parameter's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Score and compare BaaS providers across 10 capability dimensions' with a specific verb ('score and compare') and resource ('BaaS providers'). It distinguishes from sibling tools implicitly as the only BaaS-specific comparator among many general comparison tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use (when comparing BaaS providers) but does not explicitly exclude alternatives or provide context for when not to use it. The context is clear but lacks exclusions or comparisons to similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
benchmark_tp_interquartile_rangeTransfer-Pricing Interquartile Range BenchmarkBRead-onlyIdempotentInspect
Transfer-Pricing Interquartile Range Benchmark: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-472-cbcr-builder. Open at: https://ainumbers.co/chaingraph/art-473-interquartile-benchmark.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already mark the tool as read-only, idempotent, and non-destructive, the description adds substantial behavior beyond those hints: inputs are processed transiently and not stored, logged, or retained; browser delegation URLs are returned in certain modes; an AP2 artifact with execution_hash is exported; and provenance/FV-status details are given. This materially helps an agent understand side effects and trust properties.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads important execution and privacy facts, but it repeats 'OpenChainGraph compute node' and includes a long FV-status receipt explanation that is not necessary for tool selection or invocation. Most sentences earn their place, but the overall structure is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain the shape or meaning of the benchmark result, nor how policy_parameters should be structured. Execution, privacy, and provenance details are thorough, but the core computational contract—what inputs are needed and what output is returned—remains underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline applies. The description mostly restates compute-mode semantics already present in the schema, though it adds one useful provenance clue by naming upstream artifact art-472-cbcr-builder, which helps populate parent_hashes. It does not compensate for the opaque policy_parameters object, whose fields remain deferred to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify the domain (transfer-pricing interquartile range benchmark) and state that it is a deterministic OpenChainGraph compute node, but the description never explains what computation is actually performed or what the benchmark result means. It reads more like infrastructure and compliance metadata than a functional definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance: compute modes (auto/server/browser), gpu:true delegation, restricted input types such as 'Use synthetic or anonymised inputs only', and an upstream dependency on art-472-cbcr-builder. However, it never states when to prefer this tool over alternatives or when it should not be used, leaving usage mostly implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bind_agreement_acceptanceAgreement Acceptance BinderARead-onlyIdempotentInspect
Agreement Acceptance Binder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-276-mutual-nda-composer. Open at: https://ainumbers.co/chaingraph/art-277-agreement-acceptance-binder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says inputs are processed transiently and not stored, logged, or retained - this is significant behavioral disclosure. It also mentions exporting an AP2 artifact with execution_hash, which is beyond annotations. Annotations already include readOnlyHint:true, idempotentHint:true, destructiveHint:false, and the description aligns with these. No contradiction. It could add details on security/auth, but given annotations, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly lengthy and includes extraneous information like the exact URL and FV-status JSON hash, which may not be essential for an agent to call the tool. It front-loads the compute mode logic but then has a long tail of provenance details. Could be more concise and focused on actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity with compute modes, upstream dependencies, and artifact export, the description covers most operational aspects. It mentions the upstream artifact, compute decisions, and output artifact. However, it lacks info on rate limits or error handling, but those are not common in this context. It's nearly complete 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all parameters. The description adds context on compute modes and how policy_parameters are used, which goes beyond the schema. However, it doesn't explain the exact expected structure of policy_parameters beyond 'see manifest', but that's a gap the schema can't fill either. Overall, adds good value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a compute node for agreement acceptance binding, with specific verb 'bind' and resource 'agreement acceptance'. It distinguishes from siblings by specifying it consumes upstream artifacts from art-276-mutual-nda-composer, which is a differentiator. However, it is somewhat verbose and the core purpose could be stated more directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and when each is used, particularly distinguish 'auto' vs 'browser' and gpu:true nodes. It implies use cases for chaining with parent_hashes. However, it doesn't explicitly state when NOT to use this tool or compare it to alternatives like other 'bind_*' siblings. The context of consuming from a specific upstream gives some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bind_attested_subjectAttested Artifact Subject BinderARead-onlyIdempotentInspect
Attested Artifact Subject Binder: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-502-bind-attested-subject.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is transparent about the behavior: inputs are processed transiently and not stored, logged, or retained. It also explicitly notes that only synthetic or anonymised inputs should be used)Skip, which is important for data handling. While the descriptions of the compute modes (auto, browser delegation URL) cover some behaviors, they indeed seem to duplicate what's in the schema's extensive descriptions. The non-retention guarantee and the deliberate input guidance go beyond the schema, which is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that gets to the point quickly. It explains compute modes with concrete examples Serious errors: the gpu:true case is implied rather than stated, and the URL is included but not hyperlinked. Some information like 'Deterministic OpenChainGraph compute node' is repeated across sentences. Overall it's reasonably sized and organized, with a few redundancies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the compute modes, the transient nature of inputs, the purpose (exporting an AP2 artifact for chain provenance), and links to a reference. Given the complexity of the compute node with multiple modeshare and security considerations, this provides solid contextual coverage. A bit more detail on what 'attested subject' means would help complete the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds substantial meaning to parameters. For 'compute', it clarifies the default ('auto'), the condition governing it (gpu:false nodes with registered kernel), and the browser delegation behavior. For 'policy_parameters', it states these are computed server-side and instructs to use synthetic or anonymized data. This meaningfully supplements the schema, which only says 'Input parameters for this node's decision function'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not explicitly state what the tool does. It vaguely hints at 'bind an attested artifact subject', but there is no direct explanation of its purpose. The title, 'Attested Artifact Subject Binder', is also unclear. It is better than a tautology, but still requires the user to infer the tool's functionality from its name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance by explaining the compute modes (auto, server, browser) and the transient processing of inputs humanos. However, it does not explicitly clarify when to use 'auto' versus 'server' versus 'browser' beyond the schema defaults, nor does it discuss alternatives or the circumstances under which one mode would be preferred over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_226j_response_evidence_pack226J Response Evidence Pack BuilderARead-onlyIdempotentInspect
226J Response Evidence Pack Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-299-aca-esrp-exposure. Open at: https://ainumbers.co/chaingraph/art-300-aca-226j-response-evidence-pack.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: determinism, transient processing with no storage/logging/retention, browser delegation URL behavior, and the FV-status receipt verification mechanism. It explains the execution_hash export for chain provenance. Since annotations already declare readOnlyHint=true and idempotentHint=true, the description enriches the behavioral model without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but somewhat sprawling: combining compute behavior, gpu delegation rules, transient processing, FV-status verification, artifact consumption, and an open URL. The compute-mode behavior is front-loaded, but the FV-status verification details feel tangential and could be shortened. The first sentence is short and clear, but the third sentence over-packs logistics into one long string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex compute node with nested policy_parameters object and no output schema, the description covers compute modes, gpu delegation, chain provenance via parent_hashes, artifact consumption, and retention guarantees. It explains the export behavior (AP2 artifact with execution_hash). It's largely complete for an agent to call correctly given the schema already documents parameters — though it doesn't describe the browser delegation URL return format in detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters. The description adds high-level context about compute modes (server-side vs browser delegation) that complements the schema's enum descriptions. It notes policy_parameters are computed server-side for gpu:false nodes with registered kernels, which adds meaning beyond the schema's placeholder 'see the tool's manifest for field names' — so description adds marginal but real value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: builds a 226J Response Evidence Pack as an OpenChainGraph compute node. It clearly identifies the tool's role (compliance_mandate) and distinguishes it from generic evidence builders by naming the specific artifact and chain. However, it doesn't explicitly contrast with sibling tools like build_evidence_pack or assemble_ocg_evidence_bundle, so it relies on the domain-specific context for differentiation rather than explicit sibling naming.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on compute modes (auto/server/browser) with explicit conditions for when each applies, and explains gpu:true always delegates to browser. It specifies that inputs are processed transiently and not stored, and instructs to use synthetic or anonymised inputs only. However, it doesn't tell when to choose this specific pack builder over sibling evidence pack tools, though the specificity of the 226J context implies usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_adverse_action_noticeBuild Adverse Action NoticeARead-onlyIdempotentInspect
Build Adverse Action Notice: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-227-validate-adverse-action-notice. Open at: https://ainumbers.co/chaingraph/art-228-build-adverse-action-notice.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds genuinely useful behavioral context beyond that: deterministic execution, transient non-retained input processing, server vs. browser delegation behavior, and the AP2 artifact/execution_hash chain-provenance contract. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with purpose, but it repeats 'OpenChainGraph compute node' twice and buries useful guidance among URL/hash/FV-status metadata that could live in structured fields. It is informative but every sentence does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description compensates by describing the output (AP2 artifact with execution_hash), the downstream consumer, and the offline FV-status verification mechanism. Gaps remain: the exact response shape is undisclosed, and policy_parameters field names are deferred to an external manifest rather than enumerated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 a 4 by enriching the compute parameter semantics (default auto behavior, gpu:true always delegates, browser returns delegation URL) beyond what the enum lists, and by clarifying that policy_parameters feed a decision function computed server-side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (build) applied to a specific resource (adverse action notice), and positions it as an OpenChainGraph compute node for the compliance_mandate. Names its downstream consumer (art-227-validate-adverse-action-notice), which differentiates it from the sibling validate_adverse_action_notice 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context through the build→validate pipeline and gives a hard constraint ('Use synthetic or anonymised inputs only'). However, it never explicitly states when to choose this tool over validate_adverse_action_notice or other build_* siblings, nor does it give any when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_agent_incident_recordAgent Incident Record ComposerARead-onlyIdempotentInspect
Agent Incident Record Composer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-379-agent-incident-record-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides substantial behavioral context beyond the annotations: it states that inputs are processed transiently and not stored, logged, or retained, and explicitly instructs to use synthetic or anonymised inputs only. It clarifies deterministic behavior and explains the compute delegation logic (gpu:false vs gpu:true, browser URL return). These details are not present in the annotations (readOnlyHint, idempotentHint, destructiveHint) and meaningfully inform agent behavior, adding significant value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and includes extraneous elements such as a URL ('Open at: https://ainumbers.co/chaingraph/art-379-agent-incident-record-composer.html') and a JSON verification status path with a note about snapshots and offline verification. These do not aid tool selection or invocation and inflate the length. The core information (compute modes, transient processing, artifact export) is buried among these details, and the description is not front-loaded with the most critical usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, data handling, and the artifact export with execution_hash, which are valuable for correctness. However, it lacks a description of the output artifact's structure or content (no output schema is present), and it refers to the tool's manifest for policy_parameters field names rather than providing them. For a tool with nested objects and no output schema, the description should explain what the returned AP2 artifact contains and clarify what an 'incident record' encompasses. These gaps make the description incomplete for a complex tool, though it does address several critical usage aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already documented in detail (compute enum, parent_hashes, parent_tool_ids, policy_parameters). The description adds minimal new semantic value beyond the schema—it reiterates compute mode behavior and notes that policy_parameters are computed server-side when applicable, but these points are already reflected in the parameter descriptions. With full schema coverage, the baseline of 3 is appropriate; the description does not introduce syntax or format details absent from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an 'Agent Incident Record Composer' that acts as an OpenChainGraph compute node and exports an AP2 artifact with execution_hash. It states the verb (build/compose) and resource (incident record), and the title matches the name. However, it does not clearly define what an incident record contains or how it differs from other build_* tools beyond the name; the purpose is inferred from the name and the compliance_mandate hint rather than explicitly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for composing incident records under a compliance mandate, and explains compute modes (auto/server/browser) and their implications. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide any exclusion criteria or refer to sibling tools. The usage guidance is implied through the compliance_mandate label and the compute mode explanation, but there is no direct 'use this when' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_agent_test_evidenceQuarterly Agent Test Evidence ComposerARead-onlyIdempotentInspect
Quarterly Agent Test Evidence Composer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-378-quarterly-test-evidence-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint: true and idempotentHint: true. The description adds the critical detail that inputs are not stored or logged, and specifically warns to use synthetic/anonymised inputs. It also mentions the execution_hash for provenance and the FV-status snapshot, going beyond annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, packing in provenance, compute details, privacy warnings, and links. It front-loads the core purpose but then provides a wall of text with URLs and compliance jargon that could be trimmed. It is structured but overloaded for an agent to parse efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description covers the key behavioral aspects: what inputs do, how compute works, privacy implications, and provenance. It also points to external resources for further context. Missing some specifics on result format, but given the complexity, it's reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (every parameter has a description in the schema). The description adds context on how compute is used with server/browser delegation, and explains parent_hashes chaining, but doesn't itself compensate for any low coverage since coverage is full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and title clearly state it composes agent test evidence for quarterly reporting, and the description identifies it as an OpenChainGraph compute node producing AP2 artifacts. However, it doesn't contrast with sibling tools like build_evidence_pack or build_ocg_evidence_bundle, so the agent might not know why choose this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and that inputs are transient, but doesn't provide explicit when-to-use guidance relative to similar evidence-building tools. It mentions 'compliance_mandate' and provides a URL for context, but no direct exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_agent_traffic_policyAgent-Traffic Acceptance Policy BuilderARead-onlyIdempotentInspect
Agent-Traffic Acceptance Policy Builder: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-20-acp-ucp-product-feed-conformance-auditor. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-21-agent-traffic-acceptance-policy-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, and the description adds substantial context: deterministic execution, server-side vs browser delegation, gpu:true delegation behavior, transient non-retention of inputs, AP2 artifact export, and upstream/downstream chain lineage. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with compute behavior, but it includes low-value invocation metadata such as a URL and an FV-status snapshot receipt, and it redundantly calls itself an OpenChainGraph compute node twice. The relevant safety/compute/provenance details are present and scannable, but the extra provenance-receipt material prevents it from being concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description sufficiently tells the agent that the result is an AP2 artifact with an execution_hash, and it clarifies browser vs server delegation, transient input handling, and upstream/downstream pipeline position. The policy_parameters field names are deferred to an external manifest, which is a small gap, but the openness and no-required-parameter design make the definition workable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all 4 parameters, including the compute enum and parent_hashes/parent_tool_ids, so the baseline is 3. The description adds only minor extra meaning, like server-side execution on Cloudflare Workers and a pointer to the tool manifest for policy_parameters fields, but does not materially enrich understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the tool as an Agent-Traffic Acceptance Policy Builder and says it exports an AP2 artifact with an execution_hash, so an agent can tell that it produces a chain-provenance policy artifact. However, it opens by largely restating the title as an OpenChainGraph compute node and never gives a crisp action summary such as 'builds/accepts an agent-traffic policy', so it does not fully distinguish itself from the many build_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling builders, generators, or OpenChainGraph nodes. The description does give compute-mode selection rules and warns to use synthetic/anonymized inputs only, but that is operational 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.
build_ai_conformity_packAI Act Conformity Pack BuilderARead-onlyIdempotentInspect
AI Act Conformity Pack Builder: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-64-ai-act-highrisk-fit-diagnostic. Output feeds: 333-eu-ai-act-article9-risk-mgmt-builder, art-05-eu-ai-act-credit-scoring-conformity, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-65-ai-conformity-pack-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses compute mode behavior (auto/server/browser), server vs. client execution, transient processing with no storage/logging, and the requirement for synthetic inputs. These details go far beyond the annotations' read-only and idempotent flags, giving an agent rich practical context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but organized, with key behavioral details (compute modes, transient processing, provenance) up front. It includes URLs and hashes that add context but lengthen the text; overall it is appropriately detailed without being redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the main behavioral aspects, artifact export, and chain integration. It lacks detail on the artifact's internal structure and edge cases, but the provided information is sufficient for a competent agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all four parameters, including the compute enum and parent_hashes semantics, so the description adds little new parameter detail. The compute mode explanation overlaps with the schema but doesn't introduce information beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an 'AI Act Conformity Pack Builder' and a deterministic OpenChainGraph compute node that exports an AP2 artifact with execution_hash. It is distinct from siblings like build_evidence_pack due to its AI Act focus and specific upstream/downstream references, though it does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to choose this tool over alternatives or exclusion criteria. It includes a usage constraint ('Use synthetic or anonymised inputs only') but this is a data-handling requirement, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_ai_decision_log_recordAI Decision Log Record Builder (EU AI Act Art 12)ARead-onlyIdempotentInspect
AI Decision Log Record Builder (EU AI Act Art 12): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-237-validate-agent-audit-trail, art-238-classify-annex3-decisioning-obligations. Open at: https://ainumbers.co/chaingraph/art-236-build-ai-decision-log-record.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description exceeds annotations substantially: it discloses transient processing ('not stored, logged, or retained'), determinism, the compute-routing mechanics across Cloudflare Workers, the AP2 artifact with execution_hash, and the subtle FV-status semantics ('a snapshot, not a subscription; this receipt verifies offline'), plus clear downstream lineage. All of this is consistent with readOnlyHint=true/openWorldHint=false, and no contradiction exists. This is model behavioral context that an agent cannot 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense run-on paragraph with no line breaks, headers, or list-style scannability. The most actionable piece of guidance ('Use synthetic or anonymised inputs only') is buried in the middle, and the tail is consumed by a URL plus a long FV-status hash and receipt discussion that add marginal value to call-time behavior. Like the calibration reference 'update_drive', this is content that should be two structurally separated sentences, not a wall of text; information density is high but organization is poor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 params, no required fields, and zero output schema, the description is unusually complete: it covers compute routing, privacy, artifact shape, downstream consumers, and verification semantics. The description closes many gaps an agent would otherwise face (e.g., why a tool with readOnlyHint still needs a 'browser' mode). I deduct one point because the description points to 'the tool's manifest' for policy_parameters field names without surfacing that manifest, and it never clarifies what happens to the parent_hashes chain when parent_tool_ids are omitted — a gap the grading note explicitly punishes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — every parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) carries a descriptive, self-explanatory schema with examples and conditional rules (e.g., the gpu:false/registered-kernel caveat, the ordering contract for parent_tool_ids). Baseline 3 applies because the description adds no information beyond the schema, and the schema fully shoulders the burden. The description's mention of compute modes is largely redundant with the schema enum description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific, deterministic operation ('Deterministic OpenChainGraph compute node') that generates an AP2 artifact with an execution_hash, and names its downstream consumers (art-237, art-238). It enriches the bare name by explaining the build-vs-delegate behavior and the chain-provenance responsibility. Minor deduction: the opening clause essentially restates the title, and the domain logic ('AI Decision Log Record' per Art 12) is implied rather than explained; the prose favors plumbing details over the actual compliance purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers tangible conditional guidance: 'Use synthetic or anonymised inputs only', the compute-mode routing rules (server-side by default, browser delegation for 'browser', always-delegate for gpu:true), and the privacy semantics. However, it never names alternates or states when NOT to use this tool relative to the ~700 siblings (particularly close ones like build_ai_workpaper_record or build_ai_conformity_pack). The output-feeds line hints at downstream composition but not exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_ai_training_data_lineage_recordAI Training-Data Lineage RecordARead-onlyIdempotentInspect
AI Training-Data Lineage Record: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-452-build-ai-training-data-lineage-record.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnlyHint and idempotentHint annotations by revealing transient processing (inputs are not stored, logged, or retained), compute delegation rules (gpu:true nodes always delegate), and the exact export artifact behavior. It clearly states the deterministic nature and the verification receipt mechanism, making the tool's side effects and constraints fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and 'Deterministic' multiple times. It includes long URLs and an excessive explanation of the FV-status snapshot that could be shortened. The structure is clear but not concise; several sentences do not earn their place and add little information beyond what is already stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is extremely detailed, covering compute modes, transient processing, synthetic-input recommendation, the export artifact with execution_hash, the spec URL, and verification status. Even without an output schema, an agent has enough information to invoke the tool correctly and understand its result. It fully addresses the tool's purpose, behavior, and constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% description coverage for all four parameters, including detailed explanations for compute, parent_hashes, parent_tool_ids, and policy_parameters. The tool description reinforces the compute semantics but does not add substantial new meaning beyond the schema. Baseline score of 3 is appropriate given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an 'OpenChainGraph compute node' that builds an AI training-data lineage record and exports an AP2 artifact with execution_hash. It distinguishes itself from sibling build_* tools by specifying its deterministic compute behavior and its role in chain provenance. The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (e.g., for AI training-data lineage with compliance mandate) and includes operational guidance such as compute modes (auto/server/browser) and the recommendation to use synthetic or anonymised inputs. It does not explicitly contrast with alternative tools, but the detailed behavior descriptions give enough context for appropriate selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_ai_workpaper_recordAI-Tool-Usage Workpaper RecordBRead-onlyIdempotentInspect
AI-Tool-Usage Workpaper Record: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-380-build-ai-workpaper-record.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds valuable behavioral context beyond these: compute mode behavior (server vs browser delegation), transient processing with no storage/logging/retention, and output as an AP2 artifact with execution_hash. This enriches the agent's understanding without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and includes a URL and FV-status link with detailed explanation of the snapshot vs subscription semantics. While the front-loaded sections on compute behavior and data handling are relevant, the FV-status explanation and link could be considered tangential. It's structured but not tightly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers key aspects: compute modes, input handling (transient, synthetic only), output artifact type (AP2), and verification links. It also points to the manifest for policy_parameters field names. It could elaborate on what the workpaper record represents, but overall it provides sufficient context 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds only marginal extra context (e.g., gpu:true nodes always delegate) and reiterates compute modes already in the schema. The 'Use synthetic inputs' constraint is a usage note, not parameter semantics, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an 'AI-Tool-Usage Workpaper Record' and an OpenChainGraph compute node with compliance mandate, stating it builds a workpaper record and exports an AP2 artifact. However, it does not explicitly differentiate from similar build_* tools (e.g., build_ai_decision_log_record), relying on the name and context rather than direct comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational constraints (e.g., 'Use synthetic or anonymised inputs only') and compute mode explanations, but it does not explicitly state when to use this tool versus alternatives like other build_* record tools. No direct 'use this when' or 'instead, use' guidance is given, leaving the agent to infer applicability from the title and compliance context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_allocation_decision_receiptBuild Allocation Decision ReceiptBRead-onlyIdempotentInspect
Build Allocation Decision Receipt: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-515-build-allocation-decision-receipt.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds that inputs are processed transiently and not stored, logged, or retained, and that the tool is deterministic. This provides meaningful transparency about side effects and repeatability, though it could mention authentication 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and repetitive, repeating phrases like 'OpenChainGraph compute node', 'attestation_mandate', and 'inputs are computed server-side on Cloudflare Workers' multiple times. The first sentence is clear, but the rest is redundant and could be condensed significantly without loss of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions that it exports an AP2 artifact with an execution_hash and that compute:browser returns a delegation URL, but does not fully specify the output structure or success/failure responses. Given the absence of an output schema, more detail on the returned receipt's fields would be needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema descriptions are thorough, especially for compute. The description text repeats some of this but adds little additional meaning—it mentions chaining via parent_hashes but does not elaborate beyond the schema. Baseline of 3 is appropriate since the description does not significantly augment parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific action 'Build Allocation Decision Receipt' and mentions it is a deterministic OpenChainGraph compute node, which distinguishes it from other build_* tools. However, the description is somewhat convoluted with repetitive phrases about compute modes and attestation, slightly clouding the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and chaining via parent_hashes, but does not explicitly state when to use this tool versus alternatives. It lacks direct guidance on selection criteria or conditions under which this tool is preferred, leaving the agent to infer from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_amortization_scheduleAmortization Schedule BuilderCRead-onlyIdempotentInspect
Amortization Schedule Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-215-reg-z-appendix-j-apr. Open at: https://ainumbers.co/chaingraph/art-332-build-amortization-schedule.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful behavioral context beyond annotations: inputs are transient and not stored, it exports an AP2 artifact with execution_hash, compute modes (server vs browser delegation) are explained, and the compliance mandate is mentioned. This goes beyond the readOnlyHint/idempotentHint annotations by explaining side effects (artifact export) and data handling. Minor deduction for not explaining what 'compliance_mandate' means in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and unfocused, mixing unrelated details like the FV-status URL and 'a snapshot, not a subscription' with the core purpose. The most important information (what inputs to provide) is missing, while niche implementation details (Cloudflare Workers, browser delegation) take up space. A tighter structure would lead with the input parameters and a simple example.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the presence of an output feed and artifact hash, the description omits the most basic contextual information: what an amortization schedule requires (loan amount, interest rate, term) and what the schedule looks like. There's no guidance on how to interpret policy_parameters or what constitutes a valid input. The tool might be powerful, but the description is incomplete for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so baseline is 3. The main description adds little beyond what the schema already says about compute parameter, and for policy_parameters it defers to 'the tool's manifest' without giving concrete field names or an example. It doesn't compensate for the schema's vagueness about the amortization-specific inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it builds an amortization schedule and mentions 'reg-z-appendix-j-apr' as an output feed, but buries the core purpose under implementation details like 'OpenChainGraph compute node' and 'Cloudflare Workers'. It doesn't clearly differentiate from sibling tools like compute_amortization_schedule or compute_deterministic_amortization_schedule, and the actual inputs (principal, rate, term) are never stated plainly. The core function is understandable but not crisp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not tell the agent when to choose this tool over alternatives. It mentions compute modes (auto/server/browser) but doesn't give criteria like 'use when you need a deterministic schedule for compliance' or compare with the compute_* siblings. No exclusions or conditions, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_ap2_cartmandate_hashchainAP2 CartMandate Hash-Chain BuilderARead-onlyIdempotentInspect
AP2 CartMandate Hash-Chain Builder: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-596-ap2-x402-cart-correlation. Open at: https://ainumbers.co/chaingraph/art-595-ap2-cartmandate-hashchain-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| vdc | No | |
| note | No | |
| reasons | No | |
| vdc_type | No | |
| cart_root | No | |
| chain_links | No | |
| chain_length | No | |
| cart_chain_intact | No | |
| first_divergent_index | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only, idempotent, and non-destructive, and the description adds meaning beyond that: the tool is deterministic, processes inputs transiently, stores or logs nothing, delegates gpu:true nodes to the browser, and supplies a verifiable offline receipt. These are exactly the behavioral caveats an agent needs and cannot infer from the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with domain-relevant semantics and contains substantial useful detail, but it is noticeably longer than necessary. The phrase OpenChainGraph compute node is repeated, and the FV-status and URL strings add provenance context but consume significant space. A tighter summary would make the core details easier for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that has full schema descriptions, comprehensive annotations, and an output schema, the description is largely complete. It explains execution modes, determinism, mutability, data handling, downstream output, and verification support. An agent can confidently decide whether and how to invoke this tool for the AP2 CartMandate hash-chain workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all four parameters well, including compute enums, parent_hashes, parent_tool_ids, and a policy_parameters object, so the description does not need to repeat them. It adds value by explaining how compute mode determines where the policy parameters are executed and signals what artifacts the hash-chain export will carry. Some parent-field semantics still rely on the schema rather than the description, so it is not a full 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a deterministic OpenChainGraph compute node for AP2 CartMandate hash-chain construction and states it exports an AP2 artifact with execution_hash. The purpose is specific and actionable. It does not explicitly differentiate itself from sibling chain or mandate tools, which keeps it just below the top level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful situational guidance around compute modes, browser delegation for gpu:true, and the requirement to use synthetic or anonymised inputs. It also states which output feed consumes the artifact, helping downstream selection. However, it never says when to prefer this tool over alternatives or when-not situations, so it does not fully provide decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_art5_diligence_evidenceArticle 5 Due Diligence Evidence RecordARead-onlyIdempotentInspect
Article 5 Due Diligence Evidence Record: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-509-recompute-payment-waterfall. Open at: https://ainumbers.co/chaingraph/art-510-build-art5-diligence-evidence.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description significantly extends the annotations. Annotations declare readOnly, idempotent, and non-destructive, but the description adds: inputs are processed transiently and not stored, logged, or retained; users should only use synthetic or anonymised inputs; exports an AP2 artifact with execution_hash; the FV-status is a snapshot not a subscription and verifies offline. These are critical behavioral details not present in the structured annotations, and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and densely packed, containing a URL, FV-status receipt, and multiple technical clarifications. It is not concise—"OpenChainGraph compute node" appears twice redundantly, and the compute mode explanation overlaps with the schema. However, every sentence does carry meaningful information for a technical agent, so it earns a middle score rather than lower.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers a lot: compute modes, data handling and privacy, export artifact and provenance, upstream dependency, and offline verification. Gaps remain: it does not define what 'Article 5 Due Diligence' means in practice, what policy_parameters fields are expected (deferred to a manifest), or what an AP2 artifact is. These gaps are significant for an agent unfamiliar with the domain, but the description is substantially complete for a knowledgeable agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does add context beyond the schema: it clarifies that compute:"browser" forces client-side execution and returns a delegation URL, and that gpu:true nodes always delegate. It also points users to the tool's manifest for policy_parameters field names. However, much of this duplicates the schema's own parameter descriptions, and the description adds little about parent_hashes or parent_tool_ids beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb and resource: it "builds" an "Article 5 Due Diligence Evidence Record" and exports an AP2 artifact with execution_hash for chain provenance. It distinguishes itself from generic evidence builders by naming the upstream artifact (art-509-recompute-payment-waterfall) and the OpenChainGraph compute node context. However, it does not explain what Article 5 due diligence is or how this tool differs from the many other build_* evidence tools beyond these technical details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance or alternatives. It implies usage by describing compute modes and upstream dependencies, but it does not state under what conditions an agent should choose this tool over sibling tools like build_evidence_pack or build_ai_conformity_pack. The only sequencing hint is the upstream artifact mention, which is not sufficient for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_cbcr_reportOECD Country-by-Country Report BuilderARead-onlyIdempotentInspect
OECD Country-by-Country Report Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-473-interquartile-benchmark. Open at: https://ainumbers.co/chaingraph/art-472-cbcr-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| checks | No | |
| export_mode | No | |
| gate_status | No | |
| anomaly_flags | No | |
| jurisdictions | No | |
| schema_version | No | |
| not_submittable | No | |
| orphan_entities | No | |
| all_fatal_passed | No | |
| fatal_failure_count | No | |
| xml_schema_skeleton | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and idempotent annotations, the description discloses deterministic behavior, server-side execution on Cloudflare Workers, browser delegation details, transient non-retention of inputs, and generation of an execution_hash for provenance. It also explains the offline-verifiable FV-status snapshot. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and generally useful, but it repeats 'OpenChainGraph compute node' and restates compute-mode logic already present in the schema. The long URL and FV-status hash tail adds verification context but also makes the description feel less front-loaded than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with strong annotations and an output schema, the description covers compute routing, data retention, provenance, output consumers, and verification. It is almost complete, but it leaves policy_parameters content deferred to an unnamed manifest and does not explain what the report-building logic consumes or produces beyond the artifact shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions, including the compute enum, parent_hashes, parent_tool_ids, and policy_parameters. The description repeats some compute-mode behavior but does not add meaningful new meaning for individual parameters. It therefore lands at the baseline expected when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the broad deliverable ('OECD Country-by-Country Report Builder') and states that it is an OpenChainGraph compute node exporting an AP2 artifact with an execution_hash for chain provenance. It is clear enough about the core purpose, but it does not describe the actual computation or differentiate itself from the many other build_* tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful execution context: the compute:auto/server/browser modes, gpu:true delegation behavior, and the strict instruction to use only synthetic or anonymised inputs. It does not, however, tell the agent when to prefer this tool over an alternative builder tool, so usage guidance 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.
build_chaingraphBuild an executable ChainGraph DAGARead-onlyIdempotentInspect
Hash-aware sibling of build_workflow_links (ChainGraph Standard v0.1 §8.1). Returns an ordered, executable DAG over the ChainGraph suite's verifiable tools, with explicit parent_hash wiring: which upstream execution_hash each step must cite in its chain block. Pass target_tool_id to build the chain that produces that node (walks consumes-edges back to roots), or tool_ids for an explicit ordered list, or neither to list available ChainGraph nodes. Agent loop: run a node, capture its execution_hash, pass it as the parent_hash for each downstream node, then verify with verify_execution_hash.
| Name | Required | Description | Default |
|---|---|---|---|
| tool_ids | No | Explicit ordered list of ChainGraph node tool_ids to wire. | |
| target_tool_id | No | A ChainGraph node tool_id (e.g. "art-15-agent-commerce-conformance"). Builds the chain that produces it. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety. The description adds value by explaining the return structure (ordered DAG with parent_hash wiring) and the required interaction pattern (run, capture hash, pass as parent_hash, verify). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3-4 sentences) with key information front-loaded. Every sentence adds value, stating the sibling relationship, the return type, usage modes, and the agent loop. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return (ordered executable DAG with parent_hash) and provides a usage loop. It could be slightly more explicit about the exact format of the DAG (e.g., list of nodes), but overall it is sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds context about the purpose of each parameter (target_tool_id builds chain producing that node, tool_ids for explicit list), but does not provide additional semantic detail beyond the schema descriptions. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it builds an executable DAG for ChainGraph tools with hash wiring. It specifies the verb 'build', the resource 'ChainGraph DAG', and distinguishes itself from build_workflow_links as its 'hash-aware sibling'. Three usage modes are explicitly described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use each parameter: target_tool_id for building a chain to a specific node, tool_ids for explicit ordering, and neither for listing nodes. It also provides an agent loop pattern. While it doesn't explicitly state when not to use this tool versus siblings, the context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_claim_dispute_bundleClaim Dispute Bundle BuilderARead-onlyIdempotentInspect
Claim Dispute Bundle Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-306-agent-insurability-evidence-scorer. Open at: https://ainumbers.co/chaingraph/art-307-claim-dispute-bundle-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: deterministic execution, server-side vs browser-delegated compute, transient input processing with no storage/logging/retention, and an AP2 artifact with execution_hash. It also discloses that upstream artifacts are consumed and that a browser delegation URL is returned in browser mode. There is no contradiction with the readOnly/idempotent/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, but it repeats 'OpenChainGraph compute node' twice in the opening and includes trust/verification details (URL, FV-status receipt) that are not directly needed for invoking the tool. These extras are useful context but make the description less concise than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute behavior, data retention, output artifact type, and upstream dependencies well. However, there is no output schema, and policy_parameters are only described as 'see the tool's manifest', so an agent cannot fully determine the required decision-function inputs. For a no-output-schema node with an opaque nested parameters object, this is a meaningful completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description adds meaningful semantics: it explains the compute enum values in operational terms, clarifies parent_hashes set chain.parent_hashes, and notes that policy_parameters are computed server-side under certain compute modes. The main gap is that policy_parameters field names are deferred to an external manifest, but baseline is already satisfied by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify the tool as a builder for claim dispute bundles and an OpenChainGraph compute node that exports an AP2 artifact. It names the upstream artifact it consumes (art-306-agent-insurability-evidence-scorer), which helps distinguish it from generic bundle/evidence-pack tools. It does not explicitly differentiate from sibling builders like build_evidence_pack, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete operational guidance: when compute is 'auto' vs 'browser', that gpu:true nodes delegate, and that only synthetic or anonymised inputs should be used. However, it does not state when to choose this tool over sibling build/assemble/evidence tools or give an explicit exclusion like 'use X instead when...'. Usage context is implied by the upstream artifact reference, but not fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_conditional_relief_collateral_receiptConditional-Relief Collateral ReceiptARead-onlyIdempotentInspect
Conditional-Relief Collateral Receipt: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-514-conditional-relief-collateral-receipt.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint, and the description adds substantial value beyond them: inputs 'are processed transiently... not stored, logged, or retained,' the node is deterministic, compute:'browser' returns a delegation URL, and the FV-status is 'a snapshot, not a subscription' that verifies offline regardless of fetching. This is rich behavioral disclosure with no contradiction against 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the description is a single dense run-on paragraph mixing identity, compute-mode mechanics that duplicate the schema's enum descriptions, privacy notes, output format, a URL, and a long FV-status hash with verification semantics. Several sentences repeat what the schema already says, and the block lacks any structural separation, so it reads as over-stuffed rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description carries the burden of return semantics — and it does convey them: an AP2 artifact with execution_hash for provenance and a browser delegation URL in browser mode, plus offline-verification context via the FV-status snapshot. The main gaps are the undefined policy_parameters decision function (deferred to the manifest, also in the schema) and absent domain meaning for 'conditional relief collateral,' but the information needed to invoke the node is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: compute's enum semantics, parent_hashes' execution_hash chaining, and policy_parameters' compute-mode-dependent behavior are all already documented in the input schema. The description mostly restates compute-mode behavior and adds only output-artifact context (AP2 artifact with execution_hash), so it doesn't materially deepen per-parameter meaning — the high-coverage baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the tool as a deterministic OpenChainGraph compute node (compliance_control) that produces a Conditional-Relief Collateral Receipt and exports an AP2 artifact with execution_hash for chain provenance — a specific verb-plus-resource statement, not a tautology. However, it never explains what a conditional-relief collateral receipt actually is or what the compliance_control decision function evaluates, and it doesn't differentiate this from the many sibling build_*_receipt tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete compute-mode selection guidance (server-side on Cloudflare Workers for gpu:false nodes with registered kernels vs browser delegation for compute:'browser') and a clear privacy constraint ('Use synthetic or anonymised inputs only'). But it never states when to choose this tool over alternatives such as build_allocation_decision_receipt or build_conversion_receipt — tool-selection context is implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_conversion_receiptConversion Receipt BuilderCRead-onlyIdempotentInspect
Conversion Receipt Builder: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-192-conversion-receipt-verifier. Open at: https://ainumbers.co/chaingraph/art-191-conversion-receipt-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds valuable behavioral detail: inputs are processed transiently and never stored/logged/retained, the operation is deterministic, and gpu:true nodes always delegate to browser. It also notes synthetic/anonymised inputs are required, which is extra transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense run-on paragraph filled with repetitive jargon ('OpenChainGraph compute node' twice, 'Deterministic' twice) and implementation specifics (Cloudflare Workers, browser delegation URLs, FV-status). It lacks clear structure and is far longer than needed to convey the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions it exports an AP2 artifact with execution_hash and feeds a verifier, but it does not explain the output format or semantics of a conversion receipt. There is no output schema, and the description fails to compensate by clarifying what the receipt contains or how it should be used. The tool's functional role in the broader context is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds minor context (compute mode semantics, policy_parameters being for the decision function, pointing to a manifest) but does not meaningfully deepen understanding of what each parameter represents functionally beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is heavy on infrastructure (OpenChainGraph compute node, Cloudflare Workers, gpu flags) but never states what a 'conversion receipt' actually is or what conversion it performs. The title 'Conversion Receipt Builder' is a label, not an explanation; the tool's concrete functional purpose is left ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description focuses on compute mode selection (server vs browser) and does not explain when to choose this tool over any of the many sibling 'build_*' tools. No decision context or alternative comparison is provided, leaving an agent without guidance on appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_digest_manifestDigest Manifest BuilderBRead-onlyIdempotentInspect
Digest Manifest Builder: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-191-conversion-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-194-digest-manifest-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: it explains compute modes (auto/server/browser), that inputs are processed transiently and not stored/logged/retained, deterministic execution, and that it exports an AP2 artifact. This is meaningful context for an agent, covering data handling and execution semantics. It does not contradict any annotations; rather, it reinforces the read-only and idempotent hints by describing the transient processing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, containing multiple clauses and technical details. It front-loads the primary purpose and compute modes, but then includes additional specifics such as a URL and an FV-status hash snapshot reference. While every element seems purposeful, the volume of information may dilute the core message for an agent scanning quickly. It is structured but not elegantly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, compute mode logic, transient processing) and lack of an output schema, the description provides a fairly complete picture: it explains what the tool does, how it executes (compute modes), data handling, and the nature of the output (AP2 artifact with execution_hash). It also references a downstream consumer and an FV-status link for verification. It does not describe potential errors or detailed response format, but the essential information for calling it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 4 parameters with descriptions that already explain compute modes, parent_hashes, parent_tool_ids, and policy_parameters. The tool description does not add additional meaning beyond what the schema provides. Since schema description coverage is 100%, the baseline is 3, and the description adds no extra parameter-specific clarification or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a deterministic OpenChainGraph compute node that builds a digest manifest and exports an AP2 artifact with execution_hash for chain provenance. It distinguishes itself from peer 'build_*' tools by its focus on digest generation and provenance, though it doesn't explicitly name a sibling. The purpose is stated unambiguously without being a pure restatement of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or sibling tools for comparison. The only contextual hint is the downstream output feed to art-191-conversion-receipt-builder, but this is indirect and does not help an agent decide when to select this tool over another. There is no explicit 'when to use' or 'when not to use' framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_disclosure_manifestBuild a signed data-room disclosure manifestARead-onlyIdempotentInspect
Builds a Merkle-rooted disclosure manifest from a caller-supplied digest list (DATAROOM-1-BUILD-SPEC.md §DR-4) -- the agent hashes files itself and passes {path,size,digest,content_type} entries; the worker never sees file contents. Same leaf scheme as tools/546-disclosure-manifest-builder.html: sha256(path|digest|size), duplicate-last-leaf on an odd level. Entries are sorted by path before hashing so the root is order-independent. Returns the manifest object + merkle_root; sign and anchor it client-side (or via a separate §16 signing step) if a signed artifact is required.
| Name | Required | Description | Default |
|---|---|---|---|
| entries | Yes | List of {path,size,digest,content_type} -- the caller has already hashed each file. | |
| room_label | No | Label for the disclosure room. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds behavioral details: the worker never sees file contents, duplicate-last-leaf handling for odd levels, and sorting by path for order-independent roots. This provides valuable context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description fits in one paragraph and is front-loaded with the main purpose. It is slightly dense with technical details (e.g., duplicate-last-leaf, sorting), but every sentence adds value. Could be trimmed slightly without losing substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters and no output schema, the description covers input requirements, the algorithmic process (Merkle tree construction), and the return value (manifest object + merkle_root). It also hints at post-processing steps. 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented structurally. The description adds meaning by explaining the caller hashes files and passes {path,size,digest,content_type}, and mentions the Merkle leaf scheme (sha256(path|digest|size)). This goes beyond the schema for the entries parameter, though room_label lacks extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool builds a Merkle-rooted disclosure manifest from a caller-supplied digest list. It uses a specific verb ('builds') and defines the resource ('Merkle-rooted disclosure manifest'), distinguishing it from similar siblings like 'build_digest_manifest' by detailing the data-room context and hashing scheme.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use: to create a signed data-room manifest from pre-hashed files. It instructs the agent to hash files itself and pass specific entries, and notes post-processing steps. However, it does not explicitly state when not to use it or contrast with alternative tools, missing some guidance on exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_dora_roi_registerDORA Register of Information (RoI) Builder & Cross-ValidatorARead-onlyIdempotentInspect
DORA Register of Information (RoI) Builder & Cross-Validator: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2027-01-31 (DORA RoI annual submission cycle, Q1 (2nd cycle completed Q1 2026; next cycle Q1 2027).). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-466-dora-roi-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are processed transiently and never stored/logged/retained, the node is deterministic, browser compute returns a delegation URL, gpu:true always delegates, and it exports an AP2 artifact with an execution_hash. It also discloses the FV-status is a snapshot, not a subscription, and mandates synthetic data. These are non-obvious, safety-relevant traits that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text with no crisp purpose sentence; it opens by duplicating the title and then jumps into a regulatory deadline and compute internals. The FV-status tail ('a snapshot, not a subscription; this receipt verifies offline...') is tangential and hard to parse. While each sentence carries information, the overall lack of structure and front-loading makes it needlessly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers compute behavior and privacy, which is important, but leaves meaningful gaps for a complex compliance tool. policy_parameters field names are deferred to an external manifest, the 'cross-validator' role is never explained, and with no output schema the agent cannot infer the response structure beyond an execution_hash artifact. The tool is usable with the given context, but key domain semantics remain unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds extra meaning for the compute parameter by explaining what 'auto', 'server', and 'browser' do at runtime, including the gpu:true delegation rule and the return of a browser URL. It does not enhance parent_hashes or policy_parameters semantics beyond the schema's own descriptions, but the schema already covers those fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the title's 'Builder & Cross-Validator' phrase and identifies the resource (DORA RoI) and a compliance mandate, which is enough to tell this tool apart from DORA-related siblings like run_dora_readiness_diagnostic. However, it never crisply states what the tool actually outputs or what 'cross-validator' means; the functional core is buried under compute-mode mechanics. It is clear but not sharply differentiated in prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives detailed guidance on compute modes (auto/server/browser) and a warning to use synthetic or anonymised inputs, but no guidance on when to choose this tool over alternatives. Sibling tools such as compute_dora_roi_gleif_preflight_pack or run_dora_readiness_diagnostic are never referenced, leaving an agent without selection criteria. This is execution guidance, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_dual_control_certificationDual Control Certification EvidenceARead-onlyIdempotentInspect
Dual Control Certification Evidence: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-503-build-dual-control-certification.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses deterministic behavior, transient processing with no storage/logging/retention, server-side vs browser delegation mechanics, and the AP2 artifact with execution_hash. The readOnlyHint, idempotentHint, and destructiveHint annotations are consistent with this description, and the added detail is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the core identity and compute semantics. The FV-status and URL block adds length and is somewhat tangential, but the rest of the content is operational and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and nested objects, the description covers compute modes, privacy implications, artifact output, and offline verification of the FV-status receipt. It does not detail the exact return shape or policy_parameters field names, but the schema and manifest reference fill those gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some context about compute semantics and policy_parameters as a decision function, but it does not enrich parent_hashes or parent_tool_ids beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (Dual Control Certification Evidence) and frames it as a deterministic OpenChainGraph compute node that exports an AP2 artifact with execution_hash. It gives a clear sense of the tool's role, though it never states what 'dual control certification' actually certifies or how it differs from the many sibling build_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational guidance: use synthetic or anonymised inputs only, and compute mode selection is explained ('auto', 'browser', gpu:true always delegates). It does not name specific alternatives or exclusion conditions, but the context is strong enough for an agent to decide when the tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_einvoice_transmission_receiptE-Invoice Transmission Receipt BuilderBRead-onlyIdempotentInspect
E-Invoice Transmission Receipt Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-295-einvoice-jurisdiction-mandate-router. Open at: https://ainumbers.co/chaingraph/art-296-einvoice-transmission-receipt-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly, idempotent, and non-destructive behavior, which the description does not contradict. The description adds context about compute modes and transient processing, which is beneficial. However, it lacks specifics about side effects or return artifacts beyond generic AP2 export.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and repetitive, with the compute-mode and trust-provenance boilerplate appearing multiple times. This padding obscures the tool's specific purpose and makes it harder to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description provides context on compute modes and chain provenance, it does not fully explain the e-invoice transmission receipt's role or when it should be used. Given the tool's specific domain, more domain-specific context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for all four parameters. The description adds minimal value beyond the schema, mostly reinforcing the compute binding and chain provenance concepts. The nested policy_parameters object is described as pointing to the manifest, which is useful but not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as building an e-invoice transmission receipt within the ChainGraph AP2 artifact framework. However, it mixes in generic compute-mode boilerplate that obscures the specific function. While the name and title are informative, the description's core purpose could be more direct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description references upstream artifacts and parent hashes, implying usage context, but does not explicitly state when to use this tool versus alternatives like build_einvoice_batch or validate_einvoice_format. The compute-mode details provide general execution guidance but not specific selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_etr_possession_chainETR Possession-Chain Receipt BuilderCRead-onlyIdempotentInspect
ETR Possession-Chain Receipt Builder: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-352-etr-control-evidence-checker. Open at: https://ainumbers.co/chaingraph/art-353-etr-possession-chain-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds several behavioral traits beyond the annotations: it states the tool is deterministic, inputs are processed transiently and not stored, synthetic/anonymised inputs are required, and it describes compute-mode behaviors like browser delegation URLs. These are useful and align with the idempotent and read-only hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single run-on sentence packed with redundant technical jargon (e.g., 'OpenChainGraph compute node', 'cryptographic_mandate', 'Cloudflare Workers', 'gpu:false nodes'). It is extremely verbose and poorly structured, making it difficult to quickly grasp the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only vaguely mentions 'Exports an AP2 artifact' without specifying the artifact structure or fields. It also references 'Open at:' and 'FV-status' URLs without explanation, leaving the user with incomplete information about the return value and how to consume it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for all four parameters, including the compute enum behavior and the relationship between parent_hashes and parent_tool_ids. The tool-level description adds little beyond that, so it meets the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is very verbose and technical, burying the core purpose amidst compute-mode details. It mentions 'Exports an AP2 artifact' and 'Consumes upstream artifacts', but it's unclear what 'ETR possession-chain receipt' actually does, and it doesn't clearly distinguish from similar build_* tools like build_chaingraph or build_evidence_pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It focuses on compute modes and execution details rather than the intended use case or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_evidence_packAssemble a complete evidence pack in one callAInspect
Composes a session receipt (build_session_receipt logic), an optional §27.6 HA evidence bundle (ha_bundle_export logic, included only when ha_records is supplied and non-empty), and a disclosure manifest (build_disclosure_manifest logic) from one array of already-produced artifacts, all keyed to the same input hashes -- replacing what today takes 4-6 separate tool calls with hand-carried hashes. Calls the same in-process functions those standalone tools use; if any one section fails to build, the whole call fails isError:true with that section's own message -- no partial pack.
| Name | Required | Description | Default |
|---|---|---|---|
| sd_jwt | No | When true, also return an SD-JWT export of the HA bundle (mirrors ha_bundle_export, default false; no-op when ha_records is absent). | |
| framing | No | Optional framing context for the session receipt's PTG-01 regulator prompt. | |
| artifacts | Yes | Already-produced artifacts this pack documents, in call order. | |
| ha_records | No | §27 human_accountability_records -- omit entirely for no HA section. | |
| room_label | No | Label for the disclosure-manifest room. | |
| session_id | No | Session identifier to embed in the receipt, if the caller tracks one. | |
| subject_hash | No | The sha256: subject hash the pack documents (defaults to artifacts[0].execution_hash if omitted). | |
| kernel_version | No | Version tag of the kernel that produced verification_result. | |
| policy_version | No | Version tag of the policy the kernel was evaluated against. | |
| submission_receipt | No | Populate ONLY after a real transmission -- never fabricate (same rule as ha_bundle_export). | |
| verification_result | No | The §16/§18/§20 verdict. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false and provide no safety profile, so the description carries the burden. It discloses key behavioral traits: the HA bundle is included only when ha_records is supplied and non-empty, and the call fails atomically with isError:true and the failing section's message if any section fails. This goes beyond the structured annotations and adds meaningful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, densely packed with information: main action, component breakdown, conditional inclusion, consolidation benefit, implementation note, and failure behavior. Every clause earns its place; no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 11 parameters and no output schema, the description covers the main components, input requirements, conditional behavior, failure mode, and relationship to standalone tools. It does not detail the success response structure, but naming the three composed sections gives a reasonable picture of the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds value by clarifying relationships between parameters: artifacts are 'all keyed to the same input hashes' and the HA bundle is 'included only when ha_records is supplied and non-empty.' This supplements the schema descriptions with cross-parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Composes') and names the exact resources produced: a session receipt (build_session_receipt logic), an optional §27.6 HA evidence bundle (ha_bundle_export logic), and a disclosure manifest (build_disclosure_manifest logic). It also specifies the input ('one array of already-produced artifacts') and explicitly distinguishes itself from sibling tools by naming the standalone tools it replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the consolidation benefit ('replacing what today takes 4-6 separate tool calls with hand-carried hashes') and names the alternative standalone tools, giving strong context for when to use this tool. It does not explicitly state when NOT to use it (e.g., when only one section is needed), but the implied guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_fria_monitoring_planFRIA & Post-Market Monitoring Plan BuilderARead-onlyIdempotentInspect
FRIA & Post-Market Monitoring Plan Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-64-ai-act-highrisk-fit-diagnostic. Output feeds: 451-sr11-7-model-risk-management-gap-assessor, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-66-fria-postmarket-monitoring-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond annotations: inputs are processed transiently and not stored/logged/retained; compute mode behavior (server vs browser delegation); export of AP2 artifact with execution_hash; and FV-status snapshot verification. It does not contradict readOnlyHint or idempotentHint, and it gives the agent a clear picture of side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with 'OpenChainGraph compute node' appearing twice. It's a single dense paragraph without clear front-loading of the most important purpose statement. It includes many technical details that could be condensed or structured into bullet points. It lacks conciseness and clear structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the rich technical detail, it omits practical information: what the FRIA plan actually contains, how to structure policy_parameters (the schema defers to a manifest), and what the AP2 artifact output looks like (no output schema). It tells to use synthetic inputs but doesn't explain the decision function or required fields. For a builder with no output schema, this is insufficient 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is documented. The description repeats compute mode behavior already in the schema but does not add new meaning, especially for policy_parameters, which defers to 'the tool's manifest.' The description adds marginal value beyond the schema, so it stays at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase clearly identify it as a builder for FRIA & Post-Market Monitoring Plan, distinguishing it from other build_* siblings. However, the description emphasizes compute mechanics over what the plan actually contains, so while the purpose is clear, it's not as explicit as a simple verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides some usage guidance: 'Use synthetic or anonymised inputs only' and explains compute mode choices (auto/server/browser). It also contextualizes the tool in a chain via upstream/downstream artifacts. However, it never explicitly states when to use this tool versus alternatives (e.g., when a FRIA plan is needed), nor gives when-not conditions. The placement in the chain is implicit, not practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_google_ap2_mandateGoogle AP2 Checkout/Payment Mandate (VDC) Builder & ValidatorARead-onlyIdempotentInspect
Build or validate a Google AP2 Checkout/Payment Mandate VDC (Open/Closed). Targets the external AP2 spec, not the AINumbers Policy Mandate. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mandate | No | |
| findings | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safe read operation (readOnlyHint=true, idempotentHint=true, destructiveHint=false). The description adds valuable context about the execution model: a client-side widget with zero PII and zero network traffic, which goes beyond the annotations and clarifies the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: three sentences, each providing essential information (purpose, scope distinction, execution model). No wasted words, front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with an output schema, the description covers purpose, scope, and behavioral context. It does not explain terms like VDC or Open/Closed, but these may be domain-specific. Overall, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the 'inputs' parameter, so the schema already explains the parameter. The description mentions inputs are applied via AIN Bridge prefill, which adds minimal extra meaning. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Build or validate a Google AP2 Checkout/Payment Mandate VDC', specifying the resource and actions. It distinguishes from the AINumbers Policy Mandate, but does not fully differentiate from sibling tools like 'validate_ap2_mandate_chain' or 'ap2_aml_mandate_builder', which have overlapping purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by targeting the external AP2 spec and not the internal policy mandate, but does not explicitly state when to use this tool versus alternatives (e.g., validators of AP2 mandates) or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_idv_session_receiptIDV/KYC Session Evidence Receipt BuilderARead-onlyIdempotentInspect
IDV/KYC Session Evidence Receipt Builder: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-418-idv-verification-failure-incident-composer. Open at: https://ainumbers.co/chaingraph/art-359-idv-session-receipt-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations (readOnly, idempotent, non-destructive) by disclosing that inputs are transient and not stored/logged/retained, that the node is deterministic, that compute modes affect execution location, and that the FV-status is a snapshot (not a subscription) and verification works offline. This adds substantial behavioral context that the annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence contributes: purpose, compute modes, transiency, artifact output, target feed, URL, and FV-status. It is front-loaded with the core purpose and then elaborates. While it is long, it avoids redundancy and is appropriately structured for a complex compute node.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description explains that it exports an AP2 artifact with execution_hash, mentions the output feed, and describes the compute delegation behavior. It does not detail the exact receipt structure or all possible outputs, but for the complexity involved, it covers the essential context: execution modes, determinism, transiency, and verification semantics. A few gaps exist (e.g., exact artifact format), but overall it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (every parameter has an explicit description), so the schema already documents parameter meaning. The description adds nothing further about parameter formats or relationships; it only reiterates that policy_parameters are processed server-side. Since the schema carries the weight, the description adds marginal value beyond it, justifying the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it builds an IDV/KYC session evidence receipt via an OpenChainGraph compute node. It distinguishes itself by mentioning 'compliance_control' and the output feed to art-418-idv-verification-failure-incident-composer, and it is clearly different from sibling receipt builders like build_vop_session_receipt. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for IDV/KYC session evidence receipts but does not explicitly state when to choose this over alternative receipt builders. It mentions the output feed context but provides no exclusions or direct alternative comparisons. The instruction to use synthetic or anonymised inputs only is a constraint, not a usage-context guideline. Thus, usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_idv_verification_incident_recordIDV/KYC Verification-Failure Incident ComposerARead-onlyIdempotentInspect
IDV/KYC Verification-Failure Incident Composer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-359-idv-session-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-418-idv-verification-failure-incident-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing deterministic behavior, transient non-retention of inputs, compute-mode routing (auto/server/browser), browser delegation for gpu:true, AP2 artifact export with execution_hash, and an offline-verifiable FV-status receipt. These details align with readOnlyHint=true and idempotentHint=true and add substantial context about side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and contains repeated phrases ('Deterministic OpenChainGraph compute node' appears twice) and a long FV-status URL/hash that may be necessary for provenance but adds noise. It is front-loaded with the core purpose, but the repetition and technical clutter make it less concise than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the lack of an output schema, the description covers the key behavioral contract: it exports an AP2 artifact with execution_hash, handles compute modes, consumes a specific upstream artifact, and notes transient input handling. It does not detail the artifact's internal fields or policy_parameters names, but it points to the tool manifest for those, which is acceptable for a domain-specific compute node.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds some context by noting that policy_parameters are computed server-side for gpu:false nodes and that upstream artifacts come from art-359-idv-session-receipt-builder, but it does not explain field names or formats beyond the schema. It largely restates what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'IDV/KYC Verification-Failure Incident Composer' and states it 'Exports an AP2 artifact with execution_hash for chain provenance' and 'Consumes upstream artifacts from art-359-idv-session-receipt-builder.' This makes the resource and purpose clear, and the upstream-consumer note helps distinguish it from sibling builders like build_idv_session_receipt. However, it never explicitly states 'use this to record a verification failure' and relies on the title/name for that core meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 is given, and no alternative tools are named. The only usage-related instruction is 'Use synthetic or anonymised inputs only' and compute-mode routing, which is operational rather than selective. An agent must infer from the name and upstream artifact that this is for IDV/KYC verification-failure incidents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_mastercard_agentic_tokenMastercard Agentic Token Scope BuilderARead-onlyIdempotentInspect
Mastercard Agentic Token Scope Builder: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-22-agentic-payments-protocol-comparator, art-23-visa-trusted-agent-protocol-inspector. Output feeds: art-18-mcp-developer-readiness-scorecard, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-24-mastercard-agentic-token-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds non-trivial behavioral details: compute routing logic (browser delegation URL), transient processing with no storage/logging/retention, requirement for synthetic/anonymized inputs, AP2 artifact export with execution_hash, and FV-status snapshot semantics. These go beyond annotations and inform agent behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long and dense with many pieces of information (compute logic, transient storage disclaimer, artifact exports, upstream/downstream artifacts, URL, FV-status). While it's front-loaded with the core purpose, it packs too many disparate details, making it harder to parse. Every sentence serves a purpose but the structure could be cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute routing, gpu modes, chaining, artifact export) and the absence of an output schema, the description covers the key behaviors an agent needs: what inputs are transient, what's exported, what upstream artifacts to consume, and how to verify provenance via FV-status. The only gap is what the returned response looks like beyond the browser delegation URL and AP2 artifact reference, but no output schema exists so the description compensates reasonably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters. The description adds some semantic value for policy_parameters (mentions decision function) and parent_hashes/parent_tool_ids (chaining), plus compute modes are elaborated. But much of this repeats schema descriptions. Baseline 3 is appropriate since the schema carries detail; description's extra context is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a compute node for building a Mastercard agentic token scope, with specific function names (compliance_control, OpenChainGraph compute node). However, the name already conveys this, and the description bundles multiple purposes (compute routing, artifact export, chain provenance) without a single crisp verb-resource statement. It does distinguish from siblings by naming upstream/downstream artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when compute:'auto' vs 'browser' modes apply (gpu:false with registered kernel versus gpu:true always delegating), which is useful usage context. However, it doesn't explicitly say when to choose this tool over siblings like compare_agentic_payment_protocols or build_google_ap2_mandate; it only mentions upstream/output chains implicitly. No explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_model_inventory_entryModel Inventory Entry BuilderARead-onlyIdempotentInspect
Model Inventory Entry Builder: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-451-model-outcome-analysis. Open at: https://ainumbers.co/chaingraph/art-450-model-inventory-entry.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This is far richer than the annotations alone (readOnly, idempotent, non-destructive): it discloses that inputs are processed transitively and never stored, logged, or retained, that gpu:false nodes compute server-side on Cloudflare Workers while browser mode returns a delegation URL, that execution yields an AP2 artifact, and that the FV-status receipt verifies offline. No conflict with the readOnly/idempotent/charge-free hints — the side effects are purely output artifacts and is consistent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every block earns its place — identity, compute behavior, data-retention guarantee, output artifact destination, and the offline-verifiable FV-status snapshot. There is slight redundancy in stating 'Deterministic OpenGraph compute node' order-of-consistent, and the URL/Hash block could be tighter, but nothing is padded without purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return value and does so: a AP2 artifact with execution_hash for chain provenance, a browser delegation URL path for browser mode, and a downstream output feed. The one gap is that policy_parameters is only told to look up the tool manifest for field names — the description could have acknowledged the manifest dependency more explicitly for a tool with no schema-equivalent for those fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage renders the schema the primary carrier: all 4 parameters and the compute enum semantics are already fully documented there. The description adds the privacy directive (synthetic/anonymised inputs only) and a server-side computation clarification, but it doesn't add field-by-field meaning beyond the schema baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('build a model inventory entry') and sharpens it with a concrete architectural identity: a deterministic OpenChainGraph compute node of type compliance_control that exports an AP2 artifact with an execution_hash for chain provenance. It also locates the tool uniquely in the pipeline by naming its output feed (art-451-model-outcome-analysis), which helps separate it from the many other build_* siblings that produce receipts, evidence packs, or records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operative constraints such as 'use synthetic or anonymised inputs only' and explains the compute-mode routing (auto/server/browser, gpu:false vs gpu:true), which is necessary usage context for choosing parameter values. However, it never states explicit when-to-use vs when-not-to-use guidance or names an alternative. The candidate must infer the intended use from the tool name and the art-450/art-451 pipeline framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_no_russia_clause_packNo-Russia-Clause Pack BuilderARead-onlyIdempotentInspect
No-Russia-Clause Pack Builder: OpenChainGraph compute node (disclosure_template). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-95-circumvention-diligence-assessor. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-96-no-russia-clause-pack-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, and non-destructive behavior, and the description reinforces them with meaningful detail: deterministic execution, transient processing with no storage/logging/retention of inputs, server-side versus browser delegation mechanics, and export of an execution_hash artifact. It also discloses that FV-status is a snapshot rather than a subscription and that the receipt verifies offline. The behavior described is fully consistent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-ordered: compute behavior first, then input-retention/privacy semantics, then provenance chain, then artifact links — each sentence adds distinct information. The FV-status and URL lines are auxiliary but relevant to whether the executable is current and to browser delegation. It is information-rich without stray filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an open-ended policy_parameters object and no output schema, the description provides plenty about compute routing and provenance but leaves the actual decision-input structure 'field names' to be looked up in the tool's manifest. It also does not specify the shape of the returned AP2 artifact or delegation URL. For a tool with zero required parameters and a clear chain position, this is adequate but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameter descriptions at 100% coverage, so the baseline is 3. The tool description adds only a little framing for policy_parameters ('computed server-side when compute is auto or server') and the compute binding context, but otherwise it repeats schema details and defers field names to an external manifest. The arbitrary nested payload of policy_parameters remains undocumented — the agent must look up another document to know what to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and the phrase 'OpenChainGraph compute node' make the core action clear: this tool builds a No-Russia-Clause Pack and exports it as an AP2 artifact. It also differentiates itself from the huge 'build_*' sibling family by naming its upstream input (art-95-circumvention-diligence-assessor) and downstream consumer (cry-04-merkle-batch-verifier). However, the description never states in domain terms what a No-Russia-Clause Pack actually contains or when a user needs one, relying on the title for that meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does indicate workflow placement: consume the circumvention-diligence-assessor output and produce input for cry-04-merkle-batch-verifier, which implies when in the chain graph the tool should be invoked. It also gives actionable guidance for compute settings (server vs browser modes and the gpu:true exception). There is no explicit when-not-to-use or comparison against alternative pack-builder tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_pld_disclosure_packPLD Disclosure Pack BuilderARead-onlyIdempotentInspect
PLD Disclosure Pack Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-308-pld-disclosure-pack-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false. The description adds that inputs are transient and not stored, that it exports an AP2 artifact with execution_hash, and that FV-status is a snapshot not a subscription, which is valuable beyond the annotations. No contradictions detected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-structured, front-loading the core purpose and compute modes, then addressing data handling and provenance. Each sentence adds new information, though the URLs and FV-status hashes could be considered excessive for a tool definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers execution modes, data handling, export format, and verification link, which is substantial for a compute node with no output schema. It does not describe the exact structure of the returned AP2 artifact or the response format, but given the tool's complexity and schema richness, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented in the schema. The description adds minimal extra semantics, like clarifying compute behavior (which is partially in schema) and mentions how policy_parameters are used, but it does not add details beyond the schema for parent_hashes/parent_tool_ids. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies it as a builder for a PLD Disclosure Pack on the OpenChainGraph, which is a specific resource and purpose. It distinguishes itself from siblings by mentioning deterministic compute, AP2 artifact export, and FV-status verification, but it is not fully explicit about how it differs from other evidence-pack builders (e.g., build_evidence_pack).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when server vs browser compute modes apply, and instructs to use synthetic or anonymised inputs only, which is a clear usage constraint. However, it does not mention when to choose this tool over its many sibling builders (e.g., build_evidence_pack, build_disclosure_manifest), so alternatives are not discussed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_product_lineageDigital Product Passport Cradle-to-Gate Lineage BuilderARead-onlyIdempotentInspect
Digital Product Passport Cradle-to-Gate Lineage Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-115-dpp-data-carrier-validator. Output feeds: art-117-product-authenticity-verifier. Open at: https://ainumbers.co/chaingraph/art-116-product-lineage-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool readOnly, idempotent, and non-destructive; the description adds substantial context: deterministic execution, transient non-retained inputs, browser delegation for gpu:true nodes, consumed/feeded artifact IDs, and an execution_hash in the AP2 export. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded, but redundant: 'OpenChainGraph compute node' appears twice and the title is restated. The FV-status receipt and URL add provenance, but the paragraph could be tightened without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry return-value information; it does state the AP2 artifact with execution_hash and names upstream/downstream artifacts. It also covers compute options and privacy, so an agent has enough to invoke it correctly, though exact AP2 output fields are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters including compute modes, parent_hashes, parent_tool_ids, and policy_parameters. The description mostly repeats the compute-mode semantics from the schema without adding field-level guidance beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it builds a Digital Product Passport cradle-to-gate lineage as an OpenChainGraph compute node. The DPP domain and upstream/downstream artifact IDs distinguish it from the many build_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied use: when a DPP cradle-to-gate lineage should be built/exported. The only explicit usage constraint is 'Use synthetic or anonymised inputs only'; no alternative tools are named and no when-not conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_public_money_settlement_receiptPublic-Money Settlement ReceiptARead-onlyIdempotentInspect
Public-Money Settlement Receipt: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-513-public-money-settlement-receipt.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are processed transiently and not stored/logged/retained, compute:'browser' forces client-side execution and returns a delegation URL, gpu:true nodes always delegate, execution is deterministic, FV-status is a snapshot verifiable offline regardless of network fetch. These commitments align with readOnlyHint/idempotentHint and materially shape how an agent understands side effects and trust boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and packs in valuable compute-mode and data-handling details. But it opens with redundancy ('OpenChainGraph compute node (compliance_control)' immediately followed by 'Deterministic OpenChainGraph compute node'), and the FV-status tail is verbose with URL, hash, and a snapshot-vs-subscription explanation that could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with no output schema and one free-form object parameter, the description covers compute semantics, data privacy, determinism, and offline verification thoroughly. Yet an agent still cannot fully construct a correct call: the contents of the receipt artifact, the expected fields of policy_parameters (deferred to 'the tool's manifest'), and the output shape are all unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description does enrich the compute parameter (server-side execution on Cloudflare Workers for gpu:false registered-kernel nodes; gpu:true always delegates to browser), which goes beyond the schema enum text. But it adds nothing for parent_hashes/parent_tool_ids and merely echoes that policy_parameters fields live in the manifest, so it does not compensate for that deferred documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and action: it produces a Public-Money Settlement Receipt as a deterministic OpenChainGraph compute node (compliance_control) and exports an AP2 artifact with execution_hash. The 'build a specific receipt + export AP2 artifact' framing is clear enough to separate it from unrelated tools, though it never explicitly distinguishes itself from the many sibling receipt builders (build_conversion_receipt, build_session_receipt, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance — the compute:'auto'/'browser' modes, the gpu:true delegation rule, and the hard constraint 'Use synthetic or anonymised inputs only' — which tells the agent how to invoke safely. However, it never says when to select this tool over sibling receipt/artifact builders or what conditions rule it out, so the guidance is invocation-level rather than selection-level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_rights_recordRights Record BuilderARead-onlyIdempotentInspect
Rights Record Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-205-license-terms-assembler. Open at: https://ainumbers.co/chaingraph/art-206-rights-record-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with annotations already declaring readOnlyHint, idempotentHint, and destructiveHint, the description adds meaningful behavioral context: inputs are processed transiently and never stored, logged, or retained; execution produces a deterministic AP2 artifact with execution_hash; and browser delegation behavior is disclosed. This goes well beyond the structured annotations and gives an agent important privacy and execution expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most important behavioral facts and then proceeds logically through compute modes, privacy, output, and provenance. However, it is long and somewhat repetitive: 'OpenChainGraph compute node' appears twice in the first two sentences, and the FV-status and URL details are tangential to calling the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description compensates reasonably by mentioning the exported AP2 artifact, execution_hash, browser delegation URL, upstream artifact, and opt-in privacy stance. It still does not spell out the full shape of the returned AP2 artifact nor the specific decision inputs expected inside policy_parameters, but the schema and manifest references cover much of the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already fully documents compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds overall model context — deterministic execution, transient inputs, and the chain-provenance role of parent hashes — but does not significantly enrich individual parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node that exports an AP2 artifact with an execution_hash for chain provenance, which goes beyond a tautological restatement. It also names the upstream artifact it consumes (art-205-license-terms-assembler), helping distinguish it from the many sibling 'build_*' tools. However, it never states in plain terms that it produces a 'rights record,' relying instead on the title and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-to-invoke guidance for compute modes: 'auto' computes server-side, 'browser' returns a delegation URL, and gpu:true always delegates to the browser. It also warns to use synthetic or anonymised inputs only. It does not explicitly name alternative tools or say when this tool should be selected over siblings, so the usage context is strong but not fully comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_safeguarding_audit_evidenceCASS 15 Safeguarding Audit Evidence PackARead-onlyIdempotentInspect
CASS 15 Safeguarding Audit Evidence Pack: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-501-build-safeguarding-audit-evidence.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations by detailing that inputs are processed transiently, not stored, logged, or retained, and that computation occurs server-side on Cloudflare Workers by default or in-browser when forced. It also emphasizes determinism and the production of an execution_hash for provenance. These disclosures are not present in the annotations (which only flag read-only, idempotent, non-destructive), adding meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and lengthy, packing in compute modes, transient processing, a synthetic-input warning, artifact export, a URL, and a verification hash. While each fact adds value, the sheer volume makes it less concise than ideal for an agent to quickly parse. The structure follows a logical flow but could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with multiple modes and inputs, the description covers execution semantics, data handling, artifact output, and provenance verification, including an offline-verifiable receipt link. It references a manifest for policy_parameters fields, which is adequate given the absence of an output schema and zero required parameters. The only minor gap is the lack of an explicit output structure beyond the AP2 artifact mention.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already documents each parameter. The description adds context on how the compute parameter determines execution location and notes that policy_parameters are computed server-side for gpu:false nodes with a registered kernel under certain compute modes. This supplements but does not fundamentally extend the schema's parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'CASS 15 Safeguarding Audit Evidence Pack' and an OpenChainGraph compute node, indicating it builds an auditable evidence artifact. It states it exports an AP2 artifact with execution_hash for chain provenance. However, it does not explicitly differentiate from other build_* audit evidence tool siblings, relying on its unique name and specific CASS 15 reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage constraints such as 'Use synthetic or anonymised inputs only' and explains compute mode selection (auto/server/browser) and when browser delegation occurs. However, it does not mention when to choose this tool over alternative evidence-pack builders or list any exclusions. The guidance is contextual but not comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_sanctions_screening_evidence_packSanctions Screening Evidence PackCRead-onlyIdempotentInspect
Sanctions Screening Evidence Pack: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-585-sanctions-screening-evidence-pack.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful transparency beyond annotations: it explicitly states determinism, transient processing (not stored/logged/retained), and the compute binding behavior. This complements the readOnlyHint and idempotentHint without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node', 'Deterministic', and the compute mode explanation multiple times. It fails to be concise and contains redundant phrasing that could be trimmed significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context about what an 'evidence pack' is, what inputs are expected (beyond generic parameter names), and what the output artifact contains. It does not explain the compliance mandate or how the tool fits into a sanctions screening workflow, leaving the agent without sufficient context to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full descriptions for all parameters, so the description text adds little. It mentions 'policy_parameters' but only points to the manifest for field names, adding no semantic clarification beyond the schema. Baseline of 3 applies because schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is mostly a noun phrase ('Sanctions Screening Evidence Pack') and technical jargon ('OpenChainGraph compute node'), without stating the action or outcome clearly. It does not distinguish itself from the many sibling 'build_*' tools, so an agent would struggle to know what this tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It discusses compute modes and technical execution details, but never states the intended use case (e.g., generating an evidence pack from sanctions screening results) or contrasts with related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_session_receiptBuild a session audit receipt (Merkle root)ARead-onlyIdempotentInspect
Aggregates execution_hashes from N ChainGraph tool calls in one agent session into a single SHA-256 Merkle root (session_receipt_root). Returns a tamper-evident session receipt and a regulator-framed PTG-01 audit prompt. One receipt covers an entire agent session: supply all execution_hashes in call order. The Merkle root is deterministic — the same hashes in the same order always produce the same root. Compliant with EU AI Act Art. 12 (transparency) and DORA ICT audit-trail requirements.
| Name | Required | Description | Default |
|---|---|---|---|
| framing | No | Optional framing context for the PTG-01 regulator prompt (e.g. "DORA incident review" or "EU AI Act Art.12 transparency log"). | |
| tool_ids | No | tool_id values corresponding to execution_hashes, in the same order. Used for the audit narrative. | |
| session_id | No | Optional agent session identifier for the audit narrative (e.g. a UUID or timestamp). | |
| prior_receipt | No | An earlier receipt from this SAME session (its mmr_peaks/mmr_size/mmr_bagged_root). When supplied, execution_hashes MUST start with that earlier receipt's full leaf set — the response's consistency_proof then proves this receipt provably APPENDS to the prior one (CT-style append-only guarantee) without operating a log. | |
| execution_hashes | Yes | Ordered list of execution_hash values from ChainGraph tool calls in this session (each produced by emit_chaingraph_artifact or a kernel tool). Minimum 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent), the description adds determinism ('same hashes in the same order always produce the same root') and states the output is tamper-evident and regulator-framed. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each adding value: core function, return value, session-wide scope, and determinism/regulatory compliance. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers main behavior, output, and regulatory context. It does not mention the prior_receipt append-only consistency feature, but the detailed schema description compensates. With 5 params and a nested object, this is adequately complete for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3 applies. The description reinforces the ordering requirement for execution_hashes and mentions session context, but does not add meaning beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool aggregates execution_hashes into a SHA-256 Merkle root and returns a session receipt plus audit prompt. It names the specific resource (session audit receipt) and distinguishes from sibling build_* tools by emphasizing 'session' and 'Merkle root'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: one receipt covers an entire agent session and requires all execution_hashes in call order. Does not explicitly name alternative tools or state when not to use it, but the usage scenario is sufficiently defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_tdm_reservationTDMRep AI Training Reservation BuilderBRead-onlyIdempotentInspect
TDMRep AI Training Reservation Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-201-iscc-content-code-generator. Open at: https://ainumbers.co/chaingraph/art-202-tdmrep-reservation-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the annotations (readOnlyHint, idempotentHint, destructiveHint false) by stating that inputs are processed transiently and not stored, logged, or retained, and that the tool is deterministic. It also explains compute mode behaviors (server vs. browser delegation) which adds transparency. However, it does not explicitly label the tool as read-only or idempotent, but the description's language strongly implies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating phrases like 'Deterministic OpenChainGraph compute node', 'compute:'auto'', and 'inputs are processed transiently' multiple times. It is structured as a wall of text without clear delineation of sections, making it harder to parse efficiently. A more concise summary with bullet points would improve usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides details on compute binding, parent chaining, and policy parameters, but it does not explain what a TDMRep reservation represents, what the output artifact contains, or how the reservation is used. Given the lack of an output schema, the description should clarify the return value and the tool's role in the broader workflow, which it does only partially.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover all four parameters, including compute modes, parent_hashes, parent_tool_ids, and policy_parameters. However, policy_parameters is an opaque object without field-level schema, and the description only says 'See the tool's manifest for field names.' This leaves a key parameter underspecified, so the semantics are not fully transparent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates that this tool builds a TDMRep AI training reservation artifact, and it is described as a deterministic OpenChainGraph compute node. While the verb 'build' is implied by the title and context, the description focuses heavily on compute bindings rather than stating the core purpose in a single direct sentence, so it is clear but not maximally explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool compared to other build_* siblings. It mentions consuming upstream artifacts and exporting an AP2 artifact, but does not specify use cases, selection criteria, or alternative tools. The focus is on compute modes rather than usage context, leaving the agent without clear decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_traiga_safe_harbor_packTRAIGA Safe Harbor Pack BuilderARead-onlyIdempotentInspect
TRAIGA Safe Harbor Pack Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-313-traiga-exposure-assessor, art-174-nist-ai-rmf-function-mapper. Open at: https://ainumbers.co/chaingraph/art-314-traiga-safe-harbor-pack-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially exceeds the annotations: it discloses transient input processing (not stored, logged, or retained), deterministic execution consistent with idempotentHint, AP2 artifact export with execution_hash for chain provenance, upstream artifact consumption, and compute delegation behavior. The FV-status verification mechanism is also disclosed. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with compute behavior but then accumulates spec metadata — the ainumbers.co URL and the FV-status receipt hash with its 'snapshot, not a subscription' verification semantics — that does nothing to help an agent invoke the tool. The core function is never stated in plain terms, and the tail is dominated by meta-information that should live outside the tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a free-form nested policy_parameters object, the description covers compute routing, input constraints, upstream chaining, and output artifact type. But it leaves the semantics of the safe harbor pack itself and the policy_parameters fields to a referenced manifest, and doesn't describe the browser delegation URL flow's return shape. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 value by naming the specific upstream artifacts (art-313-traiga-exposure-assessor, art-174-nist-ai-rmf-function-mapper) that should populate parent_hashes/parent_tool_ids, and by clarifying compute mode semantics in prose beyond the enum descriptions. However, policy_parameters field names are still deferred to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node that builds a TRAIGA Safe Harbor Pack, exports an AP2 artifact with execution_hash, and consumes two named upstream artifacts — enough to distinguish it from siblings like assess_traiga_exposure. However, it never states in plain terms what a 'safe harbor pack' actually is or what decision it encodes, and 'compute node (compliance_mandate)' borders on tautology with the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear internal routing guidance (compute:'auto' vs 'browser', gpu:true always delegates) and an explicit input constraint ('Use synthetic or anonymised inputs only'). But it provides no guidance on when to choose this tool over its many build_*/assess_* siblings, and the upstream artifact names only hint at prerequisites rather than stating them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_validator_change_control_receiptValidator Change-Control ReceiptBRead-onlyIdempotentInspect
Validator Change-Control Receipt: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-497-validator-change-control-receipt.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond annotations by disclosing that inputs are transient and never stored/logged/retained, that gpu:true nodes always delegate to the browser, and that the FV-status file is an offline-verifiable snapshot rather than a subscription. These are meaningful behavioral traits not inferable from the readOnly/idempotent hints. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph with valuable information, but it repeats 'OpenChainGraph compute node' twice and front-loads a title-like phrase rather than a clear operational summary. Every sentence carries information, but the structure could be more scannable and less redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description's statement that it 'Exports an AP2 artifact with execution_hash for chain provenance' is the only return-value hint; it does not describe the artifact fields or how optional parameters affect the receipt. The compute behavior and privacy guarantees are well covered, but the actual purpose and input semantics remain under-specified for an agent deciding what to pass.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% description coverage for all four parameters, including the compute enum and parent_hashes ordering. The description adds context about server-side computation on Cloudflare Workers and browser delegation, which enriches the compute parameter, but it adds nothing for parent_hashes, parent_tool_ids, or policy_parameters beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Validator Change-Control Receipt' and an 'OpenChainGraph compute node' that 'Exports an AP2 artifact with execution_hash for chain provenance.' It names a resource and outcome, but the core concept of 'validator change-control receipt' is never defined, and the description does not contrast with the many sibling build_*_receipt tools. The verb 'build' appears only in the tool name, not in the description, so the purpose is somewhat implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a privacy instruction ('Use synthetic or anonymised inputs only') and explains compute modes, but never states when to choose this tool over any alternative. It does not reference sibling tools or give conditions for selection. The compute mode discussion is more about how to invoke the tool than when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_vop_session_receiptVoP Session Receipt BuilderCRead-onlyIdempotentInspect
VoP Session Receipt Builder: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-376-score-payee-name-match. Open at: https://ainumbers.co/chaingraph/art-377-build-vop-session-receipt.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnly, idempotent) are absent from the description itself; the description mentions deterministic compute:auto but no server-side side effects or external dependencies are disclosed. There is no guidance on rate limiting, permissions, or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A dense, compact description. Uses precise vocabulary ('deterministic', 'compliance_mandate', 'Compute Binding'). Reasonably structured for a tool developer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Deeply nested objects in parameters (especially policy_parameters) and several sibling 'build_*' tools call for richer guidance and boundary-setting. The 2-parent prerequisite and kernel dependency are not explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains parent_hashes as set in OpenChainGraph, compute:'auto', and policy_parameters as inputs for the decision function. However, 'inputs' and 'decision' semantics are not elaborated. The nested parameter structure (parent_hashes and policy_parameters) is better described in the schema, but description aligns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it builds a VoP session receipt, which clearly identifies the output artifact. However, it doesn't differentiate from the many other build_* receipt tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit statement of when to use this tool or when not to use it. The compute:auto note and parent_hashes field imply this is a composition tool, but the description never explicitly explains that it should be used when constructing chained receipts or forked computations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_workflow_linksBuild AINumbers workflow deep-linksARead-onlyIdempotentInspect
Constructs an ordered set of ready-to-use deep-links for a named AINumbers workflow chain or an ad-hoc sequence of tools. Each link points directly to the browser tool; prefill-enabled steps accept #in=<base64url(JSON)> fragments so the tool opens pre-filled. Zero server-side execution -- all tool logic runs deterministically in the user's browser. Use this to hand a user a complete workflow: open step 1, run it, export its Policy Mandate, open step 2 (pre-filled from step 1 outputs), repeat. 369 named chains are available — enumerate them with find_chain.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Name of a pre-defined chain (one of 369 — enumerate with find_chain). Mutually exclusive with steps. | |
| steps | No | Ad-hoc ordered step list. Mutually exclusive with chain. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses a key behavioral trait: 'Zero server-side execution -- all tool logic runs deterministically in the user's browser.' It also explains the prefill fragment mechanism and that links point directly to the browser tool, giving a full picture of what happens (or doesn't) when invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each contributing distinct value: what the tool produces, how links work, the no-execution behavior, and a practical usage example plus enumeration pointer. No filler; dense but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (two modes, workflow chaining) and the lack of an output schema, the description sufficiently covers the return concept ('ordered set of ready-to-use deep-links'), the behavioral model, and the usage flow. It also provides the count of named chains and where to enumerate them, making the context complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both chain and steps, so the baseline is 3. The description adds meaningful context by explaining the mutual exclusivity explicitly and describing how the fields map to '#in=<base64url(JSON)>' fragments for prefill-enabled steps. This goes slightly beyond the schema's terse definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Constructs') and resource ('ordered set of ready-to-use deep-links') and clearly distinguishes the two modes: a named chain or an ad-hoc steps list. It also differentiates from sibling tools by explicitly pointing to find_chain for enumeration and describing the link-generation purpose, which differs from run_chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a concrete usage scenario: 'Use this to hand a user a complete workflow: open step 1, run it, export its Policy Mandate, open step 2 (pre-filled from step 1 outputs), repeat.' It also mentions find_chain as the enumeration alternative. Lacks explicit when-not-to-use guidance but offers clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_basis_risk_nii_shockIRRBB Basis-Risk NII Shock CalculatorCRead-onlyIdempotentInspect
IRRBB Basis-Risk NII Shock Calculator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-443-irrbb-basis-risk-nii-shock-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses determinism, transient input processing, and compute-mode behavior, which goes beyond the annotations (readOnly, idempotent, not destructive). It also advises using synthetic or anonymised inputs. However, it does not describe the tool's core behavioral traits (e.g., side effects on external systems, error behavior) and mixes in irrelevant provenance details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and repetitive, repeating 'OpenChainGraph compute node' and including boilerplate about compute modes, parent hashes, and an unrelated FV-status file. The purpose is not front-loaded; it is buried under compute-binding details. This makes the description unnecessarily verbose and poorly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what the tool returns, but it never mentions the output or result format. It focuses exclusively on compute modes, parent hashes, and input parameters. Without any description of the return value, the tool is contextually incomplete for a caller trying to understand its behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters with 100% coverage. The tool description does not add meaningful semantics; it merely refers to the tool's manifest for field names. While the 'policy_parameters' description hints at a decision function, it adds little beyond the schema's existing explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the tool's full title and identifies it as an OpenChainGraph compute node, but it does not explicitly state that it calculates basis-risk NII shock. The purpose is inferable from the title and the reference to a 'decision function', but the description is dominated by compute binding and chain provenance boilerplate rather than a clear statement of what the tool computes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative tools. It only explains compute modes and parent hash chaining, neither of which helps a caller decide between this and the many sibling calculators. No scenarios, alternatives, or selection criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_cbam_embedded_emissionsCBAM Embedded-Emissions CalculatorARead-onlyIdempotentInspect
CBAM Embedded-Emissions Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-68-carbon-compliance-fit-diagnostic, art-70-cbam-default-value-resolver, art-72-cbam-precursor-emissions-aggregator. Output feeds: art-71-cbam-certificate-cost-engine, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-69-cbam-embedded-emissions-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already establish readOnlyHint=true and idempotentHint=true, the description enriches this substantially: inputs are 'processed transiently... not stored, logged, or retained', the determinism is restated, and the 'knob' (compute) behavior is fully documented. It discloses nondeterministic-looking output behavior (browser delegation URLs), provenance receipts, and even the FV-status verification model ('a snapshot, not a subscription'). This is a model of behavioral disclosure — transparent, consistent with the annotations, and specific.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but effective — the most operationally important facts (computation mode behavior, transient processing) lead, with provenance and FV-status details trailing. However, it suffers from redundancy (the 'Deterministic OpenChainGraph compute node' phrase appears twice essentially verbatim) and buries the 'Exports an AP2 artifact' behavior deep in the middle where it might bisect the reader's understanding of inputs vs. outputs. The FV-status receipt explanation could be trimmed without loss; still, at ~180 words, it's not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description gives a reasonable sense of outputs ('Exports an AP2 artifact with execution_hash') and provides useful data flow context (upstream/downstream artifact IDs, a URL, and a verification snapshot). However, it never describes the structure or units of the computed embedded-emissions result — the central output an agent would need to parse. A sentence on the response envelope (e.g., value range, units, or how to distinguish a browser-delegation URL from a computed result) would resolve the biggest remaining unknown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, so the baseline is 3. The description does add value by explaining lifecycle semantics: the compute behavior, transient processing, and the relationship between parent_hashes/parent_tool_ids and the 'Exports an AP2 artifact' behavior. However, the description largely echoes what the schema already says about compute ('auto' = server for gpu:false nodes, 'browser' = delegation URL). policy_parameters remains a black box ('See the tool's manifest'), leaving the agent guessing at which fields belong there — a genuine gap for a 4-parameter tool with nested objects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states verb+resource ('calculate CBAM embedded emissions') and adds provenance context, positioning it as a deterministic compute node within a chain ('Exports an AP2 artifact with execution_hash for chain provenance'). It names upstream and downstream tools, which helps an agent see where it fits relative to siblings like aggregate_cbam_precursor_emissions. However, it never explicitly articulates why one would invoke this over those siblings — the differentiation is implicit in the pipeline topology rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use vs. alternatives guidance is provided despite being part of a 900+ tool ecosystem. The description covers implementation details — compute modes ('auto'/'server'/'browser'), GPU handling, and upstream/downstream artifacts — but an agent gets no direct help deciding between this and, say, aggregate_cbam_precursor_emissions or model_cbam_certificate_cost. The most useful hint is 'Use synthetic or anonymised inputs only', which is a constraint rather than selection guidance. A single sentence routing to a sibling for precursor/resolver tasks would have elevated this considerably.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_cecl_ecl_allowanceCECL Expected Credit Loss & Allowance CalculatorBRead-onlyIdempotentInspect
CECL Expected Credit Loss & Allowance Calculator: OpenChainGraph compute node (credit_assessment). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-426-cecl-ecl-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint, idempotentHint, and non-destructive. The description adds significant transparency: it explains determinism, transient processing (inputs not stored/logged/retained), server-side vs browser delegation, and the export of an AP2 artifact with execution_hash. It also notes the security guidance for synthetic data. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long and dense, packing many operational details (compute modes, data handling, URLs, FV-status) into a single block. The first sentence is clear, but the overall length could be trimmed. It's not poorly structured, but it could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator with no output schema, the description covers key context: it explains the compute binding, transient data handling, chain provenance via execution_hash, and provides a link and FV-status. It doesn't enumerate the exact policy_parameters fields (deferring to manifest), but the schema handles that. The description is adequate 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.
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 parameters thoroughly, including the compute enum and policy_parameters. The description doesn't add detail about parameter values or meanings beyond what the schema provides, so it relies on the schema, which is appropriate. Baseline score of 3 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a CECL Expected Credit Loss & Allowance Calculator, a deterministic OpenChainGraph compute node. It identifies the domain (credit assessment) and the specific financial computation. However, it doesn't explicitly state the output format beyond an AP2 artifact, and it doesn't differentiate from other similar calculators beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance on compute modes and data handling (e.g., 'Use synthetic or anonymised inputs only'), but it doesn't explicitly state when to use this tool versus alternative calculators. No alternatives are mentioned, and the context for choosing this over similar compute tools is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_claims_stp_economicsClaims STP Economics CalculatorBRead-onlyIdempotentInspect
Claims STP Economics Calculator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-254-compute-rbc-action-level. Open at: https://ainumbers.co/chaingraph/art-257-calculate-claims-stp-economics.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the readOnlyHint/idempotentHint/destructiveHint annotations: 'inputs are processed transiently... not stored, logged, or retained', PII is disallowed, determinism is disclosed (consistent with idempotentHint), and the export of an AP2 artifact with execution_hash is documented. It even disambiguates compute-binding branches so the agent knows when a delegation URL is returned instead of a result — something impossible to 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads identity well and is a single coherent block, but 'OpenChainGraph compute node' appears redundantly in the first two sentences. The FV-status sentence is cryptic and long ('a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched'), adding provenance noise without much behavioral value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For its complexity (4 params, nested object, compute branching, upstream dependency, artifact export), the execution model, data-privacy handling, and provenance chain are well covered — the parts that would surprise a caller. Yet with no output schema, the description never specifies what the tool returns beyond an 'AP2 artifact with execution_hash' nor what the economics result represents, a meaningful gap for an agent deciding whether to call it. The pointer to a manifest for policy_parameters field names is a cop-out absent that manifest being in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage the baseline is 3; the prose enhances the compute parameter by spelling out how 'auto' maps to server-side for gpu:false registered kernels vs 'browser' forcing a delegation URL. However, policy_parameters — the actual economic inputs — is deferred to 'the tool's manifest for field names', so the agent still can't construct a correct call without external lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly positions this as a 'Claims STP Economics Calculator' — an 'OpenChainGraph compute node (analytics_mandate)' — establishing a specific verb and resource, and it differentiates execution mechanism via OpenChainGraph vs plain siblings. However, it never states what 'claims STP economics' actually computes: no definition of the metric, the decision function, or the domain logic. Compared to sibling calculate_/compute_ tools, it differentiates on mechanism (deterministic, compute-binding) rather than outcome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated. 'Use synthetic or anonymised inputs only' is a real constraint, and 'Consumes upstream artifacts from: art-254-compute-rbc-action-level' implies a data-flow prerequisite. But no alternatives are named and no explicit when-to-use vs siblings guidance is given — the agent must infer fit from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_csdr_penaltyCSDR Cash-Penalty CalculatorBRead-onlyIdempotentInspect
CSDR Cash-Penalty Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-77-t1-settlement-readiness-diagnostic. Output feeds: art-83-buy-in-exposure-modeler, art-84-settlement-efficiency-kpi, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-78-csdr-penalty-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the annotations: it discloses that inputs are processed transiently and not stored, logged, or retained, that the tool is deterministic, and that browser mode returns a delegation URL. This complements the readOnlyHint and idempotentHint annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and cluttered with extraneous details such as URLs, hash links, and upstream/downstream artifact IDs. While these may serve chain provenance, they dilute the core usage information. The opening states purpose, but the rest becomes dense and hard to parse for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute binding, chain interactions), the description is incomplete. It does not specify what fields policy_parameters should contain, nor the exact output format beyond an artifact. It references a manifest that is not provided, leaving a critical gap for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds little beyond the schema: it mentions that policy_parameters are computed server-side in certain modes, but that is already in the schema. It also defers field names to a manifest, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the tool as a CSDR Cash-Penalty Calculator and an OpenChainGraph compute node with a compliance mandate, making its purpose specific and actionable. However, it does not differentiate from potential sibling tools like recompute_csdr_penalty, leaving some ambiguity about when each is the right choice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context about compute modes (server/browser) and chain dependencies (upstream and downstream artifacts), but it never states explicitly when to use this tool versus alternatives, nor does it mention any exclusions. It implies it is part of a workflow but lacks direct guidance on selection conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_erc2981_royaltyERC-2981 Royalty CalculatorCRead-onlyIdempotentInspect
ERC-2981 Royalty Calculator: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-608-erc2981-royalty-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly discloses behavioral traits: it explains compute modes (auto/server/browser), states inputs are processed transiently and not stored/logged/retained, mentions exporting an AP2 artifact with execution_hash for provenance, and notes gpu:true nodes always delegate. These details go beyond the annotations, which only declare readOnly, idempotent, and non-destructive hints, and do not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and explaining compute modes twice. It mixes core function details with infrastructure/provenance information without clear structure. Despite front-loading the title, the text is not concise and could be significantly streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks a clear statement of what the tool returns (e.g., royalty amount, artifact details) and does not explain the output structure. It mentions exporting an artifact and a browser delegation URL, but the actual calculation result format is unspecified. Given the complexity (nested policy_parameters, multiple compute options), the description is incomplete for an agent to fully understand usage and outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters with descriptions (100% coverage). The tool description adds some context about the 'compute' parameter by explaining default behavior, but it does not elaborate on 'parent_hashes', 'parent_tool_ids', or 'policy_parameters' beyond what the schema states. The added value over the schema is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'ERC-2981 Royalty Calculator' and an 'OpenChainGraph compute node (payment_policy)', but it does not explicitly state what the tool calculates (e.g., royalty amount from sale price and royalty parameters). The focus is on compute modes and provenance rather than the actual function, leaving the core purpose only implicitly clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus sibling tools. It mentions compute modes and suggests 'Use synthetic or anonymised inputs only', but gives no criteria for selecting this tool over other royalty-related or calculation tools. There is no reference to specific use cases or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_irrbb_eve_shocksIRRBB EVE Shock CalculatorARead-onlyIdempotentInspect
IRRBB EVE Shock Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-184-irrbb-sot-eve-evaluator. Open at: https://ainumbers.co/chaingraph/art-183-irrbb-eve-shock-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses deterministic execution, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and browser-delegation behavior. This is substantial behavioral context that helps an agent anticipate side effects and data-handling expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and contains redundancy: 'Deterministic OpenChainGraph compute node' repeats the opening phrase, and the compute-mode details duplicate the schema's parameter description almost verbatim. The open URL and FV-status receipt add provenance/trust noise that does not help an agent invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explains the expected artifacts, execution_hash, browser delegation URL, downstream consumer, and transient-input behavior. The main gap is that the actual EVE policy parameters are deferred to a manifest with no example or field list, but the schema's descriptions partially cover the inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the prose largely restates the schema's compute-mode descriptions and its 'see manifest' pointer for policy_parameters. No additional semantics are added for parent_hashes, parent_tool_ids, or the actual policy-parameter fields beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase 'IRRBB EVE Shock Calculator: OpenChainGraph compute node' identify a specific compute operation on EVE shocks, and the reference to 'art-184-irrbb-sot-eve-evaluator' separates it from NII-focused siblings like calculate_basis_risk_nii_shock. However, differentiation from alternatives is implied rather than explicit, and the description never directly states the action verb or what an EVE shock computation entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context: compute 'auto' means server-side for gpu:false registered kernels, 'browser' returns a delegation URL, gpu:true always delegates, and synthetic or anonymised inputs are required because data is not retained. It does not explicitly state when to choose this tool over NII or evaluator siblings, so alternative-selection guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_mica_own_fundsArt 67 Own-Funds CalculatorARead-onlyIdempotentInspect
Art 67 Own-Funds Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-100-mica-casp-authorization-readiness. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-101-mica-art67-own-funds-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is rich with behavioral context: it explains the deterministic nature, the compute mode behavior ('auto' vs 'browser' vs 'server'), where computation happens (Cloudflare Workers), client-side delegation, transient processing (not stored/logged/retained), the 'synthetic or anonymised inputs only' requirement, the AP2 artifact with execution_hash for chain provenance, and the FV-status snapshot link with its verification semantics. This far exceeds what the annotations (readOnlyHint, idempotentHint, etc.) provide, adding substantial context about data handling and operational constraints. The only minor gap is that it doesn't explicitly state whether results are cached or how failure modes behave, but it's well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with the tool name and title at the start, then a purposeful progression: what it is, compute behavior, data handling, output, dependencies, URL, and verification status. It front-loads the core purpose and compute semantics before the chain provenance and links. While it's somewhat lengthy, most sentences add unique information (especially the privacy guarantee, the synthetic-input constraint, and the FV-status snapshot semantics). The early sentences earn their place; the later details about downstream/upstream tools and URLs could be streamlined slightly but are relevant to agents navigating a complex pipeline. The 'Deterministic OpenChainGraph compute node' repetition is minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (compute modes, chaining, provenance, multiple parameters), the description is quite complete: it covers what the tool does, how it executes in different modes, what happens to inputs, what the output is (AP2 artifact with execution_hash), the upstream/downstream dependencies, and a verification mechanism (FV-status snapshot). It's missing explicit return-value structure, but there's no output schema provided, and the description mentions 'AP2 artifact' which implies a known format. The main gap is the lack of detail on 'policy_parameters' — what fields an agent should supply — which is deferred to the 'manifest'. For a calculation tool with no output schema, this is mostly complete but leaves the policy input structure ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% and each parameter has a description in the schema. The description text adds minimal extra meaning beyond the schema: it explains the 'compute' parameter's behavior (auto/server/browser) and the 'browser delegation URL' concept, which is somewhat redundant with the schema's enum description. However, the 'parent_hashes' and 'parent_tool_ids' parameters are tied to 'upstream artifacts' and 'chain provenance' in the description, which adds chain context. The 'policy_parameters' parameter is vague ('See the tool's manifest for field names'), and the description doesn't elaborate on what fields are expected, which is a gap. Overall, baseline 3.5 is appropriate since schema covers it well but description doesn't add much beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates 'Art 67 Own-Funds' as an OpenChainGraph compute node, which distinguishes it from similar siblings like calculate_solvency2_scr_ratio or calculate_repo_haircut by its specific regulatory scope (MICA Art 67). The title reinforces this. While the verb 'calculate' is standard, the resource 'own-funds under Art 67' is specific enough. The sibling list contains many 'compute_*' tools, and this one's specificity around MICA Art 67 makes it distinguishable, though the description could be clearer about what 'own-funds' means in the MICA context for an agent unfamiliar with the regulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description heavily emphasizes compute modes ('decision function', 'compute binding') and mentions consuming 'upstream artifacts from: art-100-mica-casp-authorization-readiness' and feeding 'cry-04-merkle-batch-verifier', which implies a pipeline context. However, it does not explicitly state when to use this tool vs. alternatives. With dozens of compute_* siblings and no clear 'when to use' or 'when not to use' guidance, an agent would struggle to select this over compute_portfolio_var or calculate_xva. The description also doesn't clarify whether this is for a specific asset class or scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_naic_clo_rbc_factorNAIC CLO/CBO/CDO Tranche RBC Factor CalculatorBRead-onlyIdempotentInspect
NAIC CLO/CBO/CDO Tranche RBC Factor Calculator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-618-naic-clo-rbc-factor-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false. The description adds significant context about transient processing (inputs not stored/logged/retained), the requirement to use synthetic or anonymized inputs, the export of an AP2 artifact with execution_hash, and the FV-status snapshot verification. No contradiction. It does not mention rate limits or failure behavior, but given the annotation coverage, the added detail is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and front-loaded with redundant identification: 'OpenChainGraph compute node (compliance_control)' and 'Deterministic OpenChainGraph compute node' repeat the same information. It then covers compute modes, privacy guarantees, artifact output, a URL, and an FV-status receipt. Each sentence carries a distinct fact, but the opening tautology and the inclusion of two URLs consume space without immediate guidance. It could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks an output schema, so it should explain what the tool returns. It only mentions the AP2 artifact export and execution_hash. As a calculation tool (calculate_*), it does not describe the unit, formula, or data format of the RBC factor, leaving the agent to infer from the title and sibling context. Given its complexity (nested policy_parameters object) and missing output schema, this is a significant gap. The compute mode explanation is thorough, but completeness for successful invocation is only partial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is documented. The description introduces the meaning of compute itself but mostly echoes the schema. It references policy_parameters as the input for the decision function but does not detail the expected fields within it, merely pointing to the manifest. It adds the note about gpu:false registered kernels, which is extra context beyond the schema, but the core semantics of policy_parameters remains opaque without external manifest lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific verb 'calculate', the resource 'NAIC CLO/CBO/CDO Tranche RBC Factor', and identifies itself as a compute node in the OpenChainGraph with a link. It states exactly what it does and that it is deterministic. This is specific and distinguishes it from generic computation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes and when server vs browser execution is used, which is operational guidance. However, it does not explicitly state when to use this tool versus alternatives, such as compute_rbc_action_level or compute_rbc_action_level_private, or any other RBC-related tools. It does not mention the regulatory context or when this specific tranche calculator is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_nis2_penalty_exposureNIS2 Penalty Exposure Calculator (Art. 34)ARead-onlyIdempotentInspect
NIS2 Penalty Exposure Calculator (Art. 34): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-142-nis2-art21-gap-checker. Open at: https://ainumbers.co/chaingraph/art-143-nis2-penalty-exposure-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering readOnly/idempotent/destructive hints, the description still adds substantial behavioral context: 'deterministic', 'processed transiently... not stored, logged, or retained', execution on Cloudflare Workers, AP2 artifact export with execution_hash, and upstream artifact consumption. These claims align with annotations (no contradiction) and give an agent a realistic operational picture. Only error/failure behavior and response shape beyond execution_hash are left unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph packs in a lot: purpose, execution model, privacy guarantees, compute routing, chain provenance, an artifact ID, URL, and FV-status hash. Individually each sentence earns its keep, but the wall-of-text format means a reader must parse several unrelated concerns (compute, privacy, chain, freshness) from one block. Not bloated, but not elegantly structured either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 params, a nested policy_parameters object, and no output schema, the description covers compute modes, data handling, provenance, and freshness — a solid picture for a complex node. However, the actual calculation output is only vaguely indicated as an 'AP2 artifact with execution_hash'; an agent has no idea what the result — the penalty exposure amount, reasons, or ranges — looks like without invoking the tool. That is a notable gap given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself carries rich descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters, so the baseline is 3. The description adds a useful pointer ('Consumes upstream artifacts from: art-142-nis2-art21-gap-checker') which relates to parent_hashes/parent_tool_ids, but it doesn't go further into parameter-level semantics. Delegating to the schema is fine here, but nothing elevates this above a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the verb+resource clearly ('NIS2 Penalty Exposure Calculator (Art. 34)') and adds meaningful mechanism ('OpenChainGraph compute node (compliance_mandate)'). However, both the name and title already establish the purpose; the description adds infrastructure detail (Cloudflare Workers, browser delegation) rather than explaining what determines penalty exposure, and it doesn't differentiate against sibling penalty calculators like calculate_csdr_penalty.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use-routing: 'By default (compute:"auto") inputs are computed server-side... compute:"browser" forces client-side execution' and 'gpu:true nodes always delegate to the browser.' The 'Use synthetic or anonymised inputs only' instruction and the FV-status snapshot-vs-subscription note are genuinely useful guardrails. But no guidance is given on when this tool should be preferred over sibling calculators (e.g., compute_csdr_penalty), which would be expected given the large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_repo_haircutOn-Chain Repo Haircut CalculatorCRead-onlyIdempotentInspect
On-Chain Repo Haircut Calculator: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: 505-tokenized-collateral-eligibility-checker, 506-onchain-cash-leg-finality-checker. Open at: https://ainumbers.co/tools/508-repo-haircut-collateral-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| flags | No | |
| vm_threshold | No | |
| initial_margin | No | |
| base_haircut_pct | No | |
| sft_floor_applied | No | |
| total_haircut_pct | No | |
| canton_haircut_pct | No | |
| legacy_haircut_pct | No | |
| weekend_saving_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides good transparency about data handling, stating that inputs are 'processed transiently' and 'not stored, logged, or retained,' and advises using synthetic or anonymised inputs. It also clarifies compute mode behavior. No contradiction with the readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive, with redundant phrases like 'OpenChainGraph compute node' and 'Deterministic OpenChainGraph compute node' appearing twice. It spends many words on generic compute-mode details rather than the tool's specific function, making it unwieldy and unfocused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to explain what a repo haircut is, what inputs are required beyond the generic placeholders, or what the output represents. While an output schema exists, the description does not contextualize the tool's role in the broader workflow. Significant missing information for a user to understand how to apply it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Most parameters are described clearly (compute, parent_hashes, parent_tool_ids), but policy_parameters is vaguely defined as 'Input parameters for this tool's decision function' with a reference to a manifest, lacking concrete field names. This leaves a critical parameter under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is filled with generic compute-node boilerplate and does not clearly state what a repo haircut is or what the tool calculates. The name and title hint at the purpose, but the description itself is vague, mentioning a 'decision function' without specifics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description focuses on compute modes and chaining mechanics, but never explains the use case or when this calculator would be preferred over similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_solvency2_scr_ratioSolvency II SCR Ratio CalculatorBRead-onlyIdempotentInspect
Solvency II SCR Ratio Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-181-sii-ifrs17-reconciliation-bridger. Open at: https://ainumbers.co/chaingraph/art-180-solvency2-scr-ratio-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already indicate read-only, idempotent, and non-destructive behavior, the description adds substantial context: determinism, transient processing (not stored/logged/retained), the privacy caution to use synthetic inputs, and the execution_hash artifact for provenance. This significantly exceeds the annotations and gives the agent a clear behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, including references to URLs, FV-status hashes, and offline verification receipts that are not essential for tool invocation. The core purpose is front-loaded, but the extraneous technical details (links and hash chains) make it longer than necessary and dilute clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute tool with no output schema, the description never explicitly states what the response contains (e.g., the computed SCR ratio). It mentions exporting an AP2 artifact and feeding a bridger, but an agent needs to know the return structure to use the result. The description also omits any mention of required inputs or format beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are already described. The description adds some context for the compute parameter (server-side vs browser delegation) and explains the policy_parameters are computed server-side when relevant, but it does not enrich parameter semantics beyond what the schema provides. It is adequate but not superior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Solvency II SCR Ratio Calculator and an OpenChainGraph compute node with a compliance_mandate. It states the specific resource and operation, though it does not explicitly differentiate from sibling tools like aggregate_solvency2_scr_modules, which perform related but distinct functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It explains compute modes (server vs browser) and mentions a downstream feeder, but does not tell the agent when to select this over other SCR-related tools or how to decide between this and aggregate_solvency2_scr_modules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_xvaXVA / CVA CalculatorBRead-onlyIdempotentInspect
XVA / CVA Calculator: OpenChainGraph compute node (risk_parameter). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: qfa-01-options-greeks. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/qfa-04-xva-cva-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond the annotations. It explicitly states that inputs are processed transiently and not stored, logged, or retained, which is useful for privacy. It also mentions the compute modes: 'auto' defaults to server-side on Cloudflare Workers, 'browser' forces client-side and returns a delegation URL, and gpu:true always delegates to browser. It also mentions the output is an AP2 artifact with execution_hash for chain provenance, and provides a URL and FV-status link. This is rich context that helps the agent understand the execution flow and trust model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, covering multiple aspects: compute modes, data handling, output format, upstream/downstream dependencies, and links. It is front-loaded with the core purpose but then meanders into detailed implementation specifics. While each sentence carries information, the description is not concise; it could be structured into clearer sections. The repetitive mention of 'deterministic OpenChainGraph compute node' adds little and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested policy_parameters, compute modes), the description covers essential aspects: execution location, data handling, output artifact, and chain dependencies. It also provides a URL and FV-status link for verification. It does not explicitly describe the return format (though no output schema exists), but given the annotations (readOnlyHint, idempotentHint) and the detailed description, an agent has enough to call it correctly. The main gap is a brief explanation of what XVA/CVA calculation entails, but that may be out of scope for description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description covers 100% of parameters, but the description goes beyond that by explaining the compute modes in detail (e.g., defining what 'auto', 'server', 'browser' mean and their conditions). It also clarifies that parent_hashes are execution_hash values from upstream artifacts and that policy_parameters are the inputs for the decision function. The description adds practical context about how these parameters interact with the compute modes and the chain provenance, which is not apparent from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a calculator for XVA/CVA, but the term 'XVA / CVA Calculator' is somewhat ambiguous and not further explained beyond the name. It mentions it's an OpenChainGraph compute node, but does not specify what calculations it performs or what inputs it expects. The main purpose of 'computing XVA or CVA' is implicit rather than explicit, and the description is more focused on execution mechanics than on the actual financial functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some details about compute modes and when they apply, but it does not explain when an agent should use this tool versus alternatives. Sibling tools like compute_options_greeks are thematically related, but the description doesn't tell an agent when to choose this tool or when to prefer a different one. There is also no guidance on prerequisites like needing upstream artifacts from qfa-01-options-greeks, which is only mentioned as a fact. The usage context is not sufficiently actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
camt053_parseParse and structurally validate a camt.053.001 bank statementARead-onlyIdempotentInspect
Parses a camt.053.001 bank-to-customer statement XML document with the same schema-subset structural and facet checks as the tools/565 browser reconciliation workbench (IBAN mod-97, BIC, currency, date/decimal facets), returning the extracted statement (message id, statement id, account IBAN/currency, balances, entries) on success or the structural error list on failure. Byte-identical extraction to the browser tool for the same input. Read-only parse -- feed the result to recon_match for reconciliation.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | camt.053.001 XML statement document text to parse. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description includes specific validation details (IBAN mod-97, BIC, currency, etc.) and confirms read-only and idempotent behavior, consistent with annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each adding value: purpose, consistency with another tool, and usage recommendation. Front-loaded with main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description lists extracted fields and error handling, making it complete for a simple parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter. The description adds context about the document type and expected content (e.g., account IBAN/currency), but does not provide syntax examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it parses a camt.053.001 XML document, performs structural and facet checks, and returns extracted data or errors. It distinguishes from siblings by noting it is a read-only parse for reconciliation input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'feed the result to recon_match for reconciliation', indicating usage context. However, it does not mention when not to use it or compare to the sibling 'parse_camt053_reconciliation'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certify_license_electionLicense Election CertifierBRead-onlyIdempotentInspect
License Election Certifier: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-197-pil-flavor-mapper, art-196-cant-be-evil-license-selector, art-195-creative-commons-license-chooser. Output feeds: art-200-license-election-verifier. Open at: https://ainumbers.co/chaingraph/art-199-license-election-certifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it explains transient processing (inputs not stored/logged/retained), deterministic behavior, compute mode delegation logic (server-side vs browser), and the requirement for synthetic inputs. These details complement the readOnlyHint and idempotentHint annotations without contradicting them, giving the agent a clearer picture of expected behavior during invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and heavily detailed, mixing technical jargon, URLs, FV-status references, and chain metadata without a clear progression. The core purpose is buried in the middle, and the structure is not front-loaded with the most important information. Many sentences introduce unrelated concepts, making it difficult for an agent to quickly extract the tool's primary function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite being scattered, the description covers a wide range of contextual details: compute modes and their effect on execution, data privacy (transient processing), the output artifact (AP2 with execution_hash), upstream/downstream chain relationships, a URL for human reference, and FV-status for trust verification. This is substantial for a tool with no output schema and four parameters, though the lack of a clear return format for the default compute path is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters (100% coverage). The description elaborates slightly on the compute parameter (e.g., default behavior, gpu:true delegation) but this largely mirrors the schema description. It does not add meaningful new semantics for parent_hashes, parent_tool_ids, or policy_parameters, which remain open to interpretation. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly indicate a tool for certifying license elections, but the description does not explicitly state the core function. Instead, it focuses on technical implementation details like 'OpenChainGraph compute node' and compute modes. It mentions consuming upstream artifacts and feeding a verifier, but the actual action of certifying is not clearly described, making it ambiguous how this differs from siblings like verify_license_election.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It mentions compute modes and the requirement to use synthetic inputs, but does not state the intended scenario or exclusions. There is no reference to sibling tools such as verify_license_election, select_cbe_license, or choose_cc_license, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_agency_eligibility_matrixAgency Eligibility MatrixBRead-onlyIdempotentInspect
Agency Eligibility Matrix: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-223-conforming-loan-limit. Output feeds: art-221-llpa-stack. Open at: https://ainumbers.co/chaingraph/art-222-agency-eligibility-matrix.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the readOnly/idempotent annotations: deterministic execution, compute routing on Cloudflare Workers, gpu/browser delegation, transient no-retention processing, synthetic-input requirement, AP2 artifact/execution_hash provenance, and FV-status snapshot semantics. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is information-dense but is a long single paragraph with redundant opening ('OpenChainGraph compute node' appears twice) and a trailing FV-status block that may be over-specified. It is not front-loaded around a crisp statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex compute node with no output schema, the description covers compute modes, chaining, retention behavior, artifact output, and upstream/downstream dependencies. The main gap is that the actual eligibility semantics and policy_parameters field names are delegated to the manifest rather than explained inline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description restates the compute enum behavior and references upstream artifact provenance, but it does not add field-level meaning for parent_hashes/parent_tool_ids or the opaque policy_parameters object beyond what the schema and manifest reference already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause merely restates the title ('Agency Eligibility Matrix: OpenChainGraph compute node') and the rest covers compute modes and provenance rather than what the tool actually computes. It never states what the agency eligibility matrix is or what decision/result the tool produces, so an agent cannot tell what outcome to expect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or sibling-differentiation guidance, but the artifact-chain references (consumes art-223-conforming-loan-limit, feeds art-221-llpa-stack) and the explicit 'Use synthetic or anonymised inputs only' instruction imply placement and a data-safety constraint. Selection among alternatives is not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_agent_attestationAgent Identity & Authorization Attestation CheckerARead-onlyIdempotentInspect
Agent Identity & Authorization Attestation Checker: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2027-12 (EU AI Act Annex III high-risk obligations (Digital Omnibus, Parliament final approval June 2026) push agent KYA toward compliance requirement from 2 December 2027; KYA-OS donated to DIF March 2026). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-01-ap2-mandate-chain-validator, art-13-eudi-wallet-credential-readiness-checker. Output feeds: art-02-agent-spend-policy-simulator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-04-agent-identity-attestation-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool readOnly, idempotent, and non-destructive, but the description adds substantial behavior: deterministic execution, Cloudflare Worker vs browser compute modes, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and FV-status receipt semantics. These disclosures go well beyond the annotations and do not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and information-dense but overly bloated: regulatory history, KYA-OS donation date, an open URL, upstream/downstream artifact lists, and FV-status verification details are not needed for selecting or invoking the tool. It also repeats compute-mode semantics that are already present in the input schema, making it longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers compute modes, data privacy/retention behavior, chaining inputs, output artifact type (AP2 with execution_hash), and provenance verification. It leaves the exact AP2 return structure implicit and relies on an external manifest for policy_parameters field names, but 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters (100% coverage), so the baseline is 3. The description adds useful behavior beyond the enum text by explaining the compute:"auto" default, gpu:false/gpu:true dispatch rules, and browser delegation URL behavior, though it adds little for parent_hashes and parent_tool_ids beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase clearly identify the tool as an agent identity and authorization attestation checker within OpenChainGraph, and the compliance_mandate context gives a specific domain. However, it does not explicitly distinguish itself from sibling tools like check_agent_token_scope or verify_kya_x402_scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The regulatory context implies use for EU AI Act Annex III high-risk agent attestation obligations, and the description gives a clear operational constraint ('Use synthetic or anonymised inputs only'). It never states when to prefer this tool over alternatives, when not to use it, or which sibling tools overlap with it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_agent_token_scopeAgent Token Scope CheckerCRead-onlyIdempotentInspect
Agent Token Scope Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-385-agent-token-scope-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description meaningfully adds transparency beyond the annotations by declaring determinism, transient processing, no storage/logging/retention of inputs, server-side Cloudflare Workers execution semantics, browser delegation behavior, and the role of gpu flags. It also discloses that an AP2 artifact with execution_hash is exported and that the FV-status receipt is a snapshot rather than a subscription. This is a strong behavioral disclosure for a read-only, idempotent tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bloated relative to the actual ambiguity of the tool. The first two sentences are near-duplicates, the URL and FV-status receipt take up significant space, and the text cycles through node mechanics, provenance, privacy, and verification status without ever clearly answering the primary question of what the tool checks. Valuable details are present but buried in padding, hurting skimmability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a fairly complex tool with four parameters, nested objects, no output schema, and a domain-specific scope-checking function, yet the description never says what the output/decision is, what a successful check looks like, or what data must be supplied beyond naming policy_parameters. It explains the artifact and compute modality, but an agent still cannot confidently construct a meaningful call because the core semantics of the scope check are left implicit. The lack of an output schema makes this omission more severe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the schema already fully describes compute, parent_hashes, parent_tool_ids, and policy_parameters. The description mostly repeats compute-mode semantics already present in the schema descriptions rather than adding fresh meaning. The only added nuance is the general rule that inputs are transient and not retained, which is a behavioral guarantee rather than a parameter-level explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a rephrased title — "Agent Token Scope Checker: OpenChainGraph compute node" — and then repeats "Deterministic OpenChainGraph compute node," which is essentially a tautology. It never states the actual check being performed, what a valid or invalid agent token scope is, or what decision the tool produces. The name is suggestive, but the description itself fails to define the tool's operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any of the hundreds of siblings, nor does it state when the scope check should be run. It does explain compute-mode selection (auto/server/browser) and instructs users to use synthetic or anonymised inputs, which is useful input-level guidance but not usage selection guidance. Alternatives, prerequisites, and typical invocation conditions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ai_act_art50_markingEU AI Act Art. 50 Marking CheckerARead-onlyIdempotentInspect
EU AI Act Art. 50 Marking Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-127-dual-layer-disclosure-verifier. Open at: https://ainumbers.co/chaingraph/art-126-ai-act-art50-marking-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, destructive=false. The description adds substantial behavior: deterministic execution, transient processing with no storage/logging/retention, the compute delegation modes (server vs. browser), and the export of an AP2 artifact with execution_hash. This goes well beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and includes operational details like a URL and FV-status receipt path that are not necessary for an agent to invoke the tool. While the core purpose and compute behavior are front-loaded, the extra metadata dilutes conciseness and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what the marking check actually evaluates or the structure of its output. The policy_parameters field names are deferred to a manifest that is not provided, and there is no output schema. The agent cannot determine the expected input configuration or what the response will look like, making the description incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each property already has a description. The description reiterates compute modes but adds no new meaning for parent_hashes, parent_tool_ids, or policy_parameters, only hinting at the manifest for field names and recommending synthetic inputs. This is a baseline score given the schema already carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('check') and resource ('EU AI Act Art. 50 marking'), and positions it as a 'compliance_mandate' OpenChainGraph compute node. It distinguishes from siblings by naming the dedicated output feed to 'art-127-dual-layer-disclosure-verifier', making its niche clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives are mentioned. It does offer compute-mode instructions and notes the output feeds into another verifier, implying a compliance chain role, but it never tells the agent which conditions select this tool over sibling check_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_allocation_affirmationAllocation/Affirmation Conformance CheckerBRead-onlyIdempotentInspect
Allocation/Affirmation Conformance Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-77-t1-settlement-readiness-diagnostic. Output feeds: art-82-securities-settlement-message-linter, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-81-allocation-affirmation-conformance.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: deterministic execution, transient processing (inputs not stored/logged/retained), a privacy requirement ('synthetic or anonymised inputs only'), and detailed compute mode behavior (auto/server/browser). This aligns with readOnlyHint and idempotentHint without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long and cluttered with tangential technical details (URLs, FV-status snapshots, artifact feed relationships) that are not essential for an agent to select and invoke the tool. The core function is obscured by implementation overhead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute and data handling but does not specify what the conformance check actually returns or how to interpret the output artifact. Since there is no output schema, the description should explain the result format, which it does not. It does provide pipeline context (upstream/downstream artifacts) that helps placement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all parameters with 100% coverage. The description adds little practical semantics; it mentions policy_parameters for a 'decision function' but defers specifics to a manifest. It does not enhance the schema's descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States it is a 'Conformance Checker' for allocation/affirmation, which is a specific verb and resource. It clearly identifies the domain and function. However, it does not define what conformance means in this context or distinguish it from many other check_* tools beyond the subdomain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any sibling tools or conditions for selection. All the technical details about compute modes and data handling are about execution, not about choosing the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_assessor_independenceSwift CSP Assessor Independence EligibilityCRead-onlyIdempotentInspect
Swift CSP Assessor Independence Eligibility: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-487-assessor-independence-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description meaningfully extends these: it discloses determinism, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash for chain provenance, parent-hash chaining, and an offline-verifiable FV-status receipt. This goes beyond boilerplate and gives an agent a genuine sense of side effects and trust properties. Slight deduction for tangential promotional content (URL, FV-status wording).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
This is a single dense paragraph that repeats the tool name almost verbatim, then immediately repeats itself: 'OpenChainGraph compute node (compliance_mandate)' followed by 'Deterministic OpenChainGraph compute node.' The FV-status parenthetical is overly verbose ('a snapshot, not a subscription...') and the 'Open at' URL adds noise. The core behavioral facts could be expressed in under half the words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, 0 required, nested policy_parameters, and no output schema, the description does cover substantial ground: execution model, transient processing, provenance, offline verification, and it points to a manifest for policy field names. But it never explains the return shape or—more damagingly—what the assessor-independence decision function actually evaluates, which an agent would need to reason about results. The manifest reference partially mitigates the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all four parameters, so the baseline is 3 and the description need not repeat parameter details. The prose does explain the execution mode semantics (server/browser delegation) that underpin the compute parameter, and it contextualizes the chaining parameters via 'execution_hash for chain provenance'. However, the bulk of the parameter-value detail is a restatement of what the compute enum already documents, so no meaningful lift above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the tool's own title ('Swift CSP Assessor Independence Eligibility') and then devotes nearly all content to the execution model (Cloudflare Workers, browser delegation, gpu flags) rather than what the assessment actually computes or verifies. The label 'OpenChainGraph compute node (compliance_mandate)' reads like an internal designator, not an explanation. An agent could not determine what 'assessor independence eligibility' means or how the tool determines it from this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete operational guidance: when compute:'auto' vs 'browser' is used, that gpu:true always delegates, and a clear rule to 'Use synthetic or anonymised inputs only'. However, it offers no comparison to closely-related siblings such as attest_calc_agent_independence or check_agency_eligibility_matrix, and gives no conditions for when this tool is or isn't appropriate. Decent execution-mode guidance, zero tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_camera_provenanceCamera-Provenance CheckBRead-onlyIdempotentInspect
Camera-Provenance Check: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-359-idv-session-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-361-camera-provenance-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent behavior, but the description adds valuable beyond structuration: inputs are processed transiently, not stored/logged/retained, result is deterministic, and FV-status is a snapshot rather than a subscription. These are meaningful side effects and verification semantics that an agent cannot infer from schema or annotations alone. The description is transparent about what happens with inputs and what the exported artifact's provenance role is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well structured into compute, data handling, output, and FV-status sections, but it starts with a redundant restatement of the title and repeats 'OpenChainGraph compute node' twice. Some operational details such as the open URL could be moved into structured output or docs. It is not bloated enough to fail, but it does not earn every sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are surfaced in the schema and the description does explain the artifact output, compute modes, and input handling. However, because there is no output schema and 'policy_parameters' delegates further field names to a separate manifest, a caller still depends on external documentation. The description is adequate for an experienced agent but not fully complete for deterministic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameter descriptions at 100% coverage, so the schema does the heavy lifting. The description re-explains compute/auto/server/browser behavior, but mostly mirrors the existing helper text. It does not add meaningful new meaning for parent_hashes, parent_tool_ids, or the policy_parameters object content beyond what the schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title contains the core subject ('camera provenance') and 'Check' supplies the verb, but the description mostly restates that as an OpenChainGraph compute node. It never states what condition is being tested or what result materializes, so an agent still has to infer the actual function from the name. It is distinguishable enough from siblings but only by the title, not by the content of the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete execution guidance: how 'compute' modes behave, that browser delegation is forced for gpu nodes, and that only synthetic/anonymised inputs should be used. However, it says nothing about when to choose this tool over related provenance or verification tools, so the selection context is implicit. The output feed line helps, but it is not enough to make the when-to-use-vs-alternatives decision fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_capital_adequacy_privatePrivate-Input Capital Adequacy CheckCRead-onlyIdempotentInspect
Private-Input Capital Adequacy Check: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-415-check-capital-adequacy-private.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral detail: inputs are processed transiently and not stored, logged, or retained; compute mode behavior (gpu:true always delegates to browser); deterministic nature; and the requirement to use synthetic/anonymised inputs. It also reveals the output is an AP2 artifact with execution_hash. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' twice and including a long URL and FV-status JSON path that are not essential for invoking the tool. It mixes domain context with infrastructure details and provenance links, making it harder to scan. The key guidance (transient processing, synthetic inputs, compute modes) is buried in the middle.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description should explain what the tool returns beyond 'an AP2 artifact with execution_hash.' It never defines what 'capital adequacy' means or what the check evaluates, leaving an agent without domain context to know what inputs are appropriate or what the result signifies. Compute mechanics are covered, but the actual decision function is opaque, and there's no mention of prerequisites or expected outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 little context: it explains compute modes (already in schema) and describes policy_parameters as 'input parameters for this tool's decision function' with a pointer to the manifest. Parent_hashes/parent_tool_ids are lightly elaborated. This is marginal added value over the schema, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a 'Private-Input Capital Adequacy Check' and describes it as a deterministic OpenChainGraph compute node, but it never states what the capital adequacy check actually computes or what output it produces beyond an AP2 artifact. The verb 'check' and resource are present, but the domain semantics remain vague, making it hard to distinguish from other private-input tools (e.g., compute_rbc_action_level_private).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) but gives no guidance on when to use this tool versus alternatives. It doesn't mention any selection criteria, exclusions, or related tools. It only advises using synthetic/anonymised inputs, which is a constraint rather than usage guidance. An agent has no basis to choose this over sibling check tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_card_act_ability_to_payCheck CARD Act Ability to PayCRead-onlyIdempotentInspect
Check CARD Act Ability to Pay: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-228-build-adverse-action-notice. Open at: https://ainumbers.co/chaingraph/art-233-check-card-act-ability-to-pay.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true and idempotentHint=true, the description adds genuinely useful behavioral context: inputs are processed transiently and not stored/logged/retained, the warning to use synthetic data signals the tool handles sensitive personal data, and it explains the output artifact format (AP2 with execution_hash) and environment behavior (server-side vs browser delegation). This goes meaningfully beyond the annotation surface, though the data retention statement is buried mid-text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single unbroken wall of text with no paragraph breaks or bullets, roughly 150 words. The most critical user directive ('Use synthetic or anonymised inputs only') and processing disclosures are buried mid-paragraph, while the closing FV-status receipt sentence is operational trivia that could be deferred to documentation. Structural improvements (front-loading safety warnings, separating environment details) would substantially improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the orchestration lineage (output feeds art-228, AP2 artifact with execution_hash) but leaves the domain semantics of the decision function unaddressed. Since there's no output schema to clarify return shape, the consuming agent is left wondering what 'ability to pay' evaluates (income? credit history? debt ratios?) and what a successful result looks like. For a tool with nested objects and an opaque policy_parameters blob referencing an unavailable manifest, more is needed to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters are already documented in the schema. The parameter descriptions are self-contained (compute enum fully explained, parent_hashes mapped to execution_hash, policy_parameters described as the decision function input). The description adds no semantic shading beyond the schema, but at baseline-3 that's acceptable since no disambiguation was needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Check CARD Act Ability to Pay') and distinguishes it as a compliance_mandate container. However, it spends more space describing the cloud compute architecture (Cloudflare Workers, gpu:false nodes, browser delegation) than explaining what 'checking ability to pay' actually means as a domain operation. An agent learns the infrastructure of the tool but not the semantic intent or decision logic behind the check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the hundreds of siblings in the same fleet. The mention of 'Output feeds: art-228-build-adverse-action-notice' offers a weak downstream hint but no use-when criteria. The compute mode explanation ('server' vs 'browser') is operational parameter guidance, not tool-selection guidance. The instruction to use synthetic or anonymised inputs is a safety constraint, not usage scoping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_cash_leg_finalityOn-Chain Cash-Leg Finality CheckerBRead-onlyIdempotentInspect
On-Chain Cash-Leg Finality Checker: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 505-tokenized-collateral-eligibility-checker. Open at: https://ainumbers.co/tools/506-onchain-cash-leg-finality-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| verdict | No | |
| mica_status | No | |
| mandate_type | No | |
| finality_flag | No | |
| genius_status | No | |
| compliance_flags | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses that inputs are processed transiently and not stored/logged/retained, and that it exports/consumes artifacts—useful operational behavior. This adds meaningful context about side effects and data handling that annotations don't capture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph with run-on technical clauses, a stray URL, and a final confusing 'FV-status' sentence that reads like a copy-paste from internal documentation. Key facts are buried; the structure harms scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested policy_parameters, output schema), the description covers execution model, data handling, provenance, and upstream dependencies. No critical missing piece prevents an agent from invoking it, though the presentation hurts usability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description reinforces the meaning of the compute parameter, particularly the 'auto' vs 'browser' modes. However, the description only slightly augments the schema (e.g., no new parameter semantics for parent_hashes or policy_parameters are provided beyond what the schema already states).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'On-Chain Cash-Leg Finality Checker' immediately identifies the domain and resource, and the description expands with 'OpenChainGraph compute node' and the export/consume behavior. It doesn't name a sibling, so it can't explicitly differentiate, but the purpose is reasonably clear 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains runtime behavior (server vs browser compute) but never addresses when an agent should choose this tool over an alternative. There is no mention of scenarios, prerequisites, or exclusions, so an agent gets no guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_client_portingClient Porting CheckBRead-onlyIdempotentInspect
Client Porting Check: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-532-client-porting-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds substantial context beyond that: determinism, transient input processing with no storage/logging/retention, Cloudflare Workers execution, browser delegation behavior, AP2 artifact export with execution_hash, and offline-verifiable FV status snapshot. This is strong behavioral disclosure with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the compute model and includes mostly relevant operational constraints. However, it contains near-redundant opening clauses and includes a lengthy, tangential explanation about the FV-status snapshot and offline verification that could be shortened without losing core value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, full schema coverage, and a nested object parameter, the description is reasonably complete on safety, compute routing, and provenance. Yet there is no output schema and the description does not explain what the check returns, what policy_parameters fields are expected, or what distinguishes a passing versus failing client-porting outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters. The description adds some useful compute-binding context around the 'compute' parameter, including Cloudflare Workers and browser delegation, but it does not meaningfully enrich the semantics of parent_hashes, parent_tool_ids, or policy_parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as an OpenChainGraph compute node and states that it exports an AP2 artifact with an execution_hash, which goes beyond a pure restatement of the name. However, it never says what a 'client porting check' actually determines or what the check's result means, so the core purpose remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit compute-mode guidance: 'auto' defaults to server-side, 'browser' forces client-side and returns a delegation URL, and gpu:true nodes always delegate. It also warns to use synthetic or anonymised inputs only. However, it does not state when to prefer this tool over any sibling 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.
check_conforming_loan_limitConforming Loan Limit CheckARead-onlyIdempotentInspect
Conforming Loan Limit Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-222-agency-eligibility-matrix. Open at: https://ainumbers.co/chaingraph/art-223-conforming-loan-limit.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which convey safety. The description adds valuable context: it's deterministic, processes inputs transiently without storage/logging, forces data to be synthetic/anonymized, exports an artifact with execution_hash, and provides FV-status verification. This goes beyond annotations by explaining data handling and provenance, which is critical for compliance. No contradiction found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but somewhat verbose, with multiple technical details (OpenChainGraph, Cloudflare Workers, AP2 artifact, FV-status) that may not be essential for an agent to call the tool. It front-loads purpose and compute modes, but the later FV-status and URL details could be secondary. It's not overly long, but could be more succinct by removing redundant repetition of compute behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 params, nested object, no output schema), the description covers key operational aspects: compute modes, data handling, artifact export, and provenance verification. It lacks explicit return value format, but output schema absence might be less critical since the artifact is described. It also doesn't explain the actual loan limit calculation inputs, but those are in policy_parameters referenced from the manifest. Overall, reasonably complete 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully documented in the schema. The description adds little about parameters directly, but it clarifies that policy_parameters are computed server-side for gpu:false nodes, which helps understand when to set them. Given high coverage, baseline is 3; the added detail on compute modes and policy parameter handling justifies a 4, as it explains behavior beyond field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a 'Conforming Loan Limit Check' compute node, implying a deterministic calculation of conforming loan limits. It distinguishes itself by naming the compliance mandate and referencing an artifact output, but it does not explicitly contrast with sibling tools like check_agency_eligibility_matrix. The core purpose is inferred rather than explicitly stated (e.g., 'computes whether a loan amount falls within FHA conforming limits'), so it gets a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear compute-mode selection guidance (auto vs. browser) and notes that the output feeds a specific artifact, which implies when this tool is used (e.g., for chaining eligibility checks). However, it lacks explicit when-not-to-use guidance or alternatives; siblings like check_agency_eligibility_matrix might share similar purpose, but the description doesn't reference them. The usage context is implied through the output feed, but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_cra_annex1_completenessCRA Annex I Completeness CheckerBRead-onlyIdempotentInspect
CRA Annex I Completeness Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-138-spdx-sbom-validator. Output feeds: art-140-cra-vuln-reporting-readiness. Open at: https://ainumbers.co/chaingraph/art-139-cra-annex1-completeness-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), the description adds substantial behavioral disclosure: determinism, the compute:'auto'/'server'/'browser' routing rules with gpu:true always delegating to the browser, transient input handling ('not stored, logged, or retained'), a clear 'Use synthetic or anonymised inputs only' restriction, and AP2 artifact export with execution_hash. These details are consistent with the read-only and idempotent hints and go well beyond what the structured fields alone convey. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense block of prose mixing domain purpose, compute-binding mechanics, data handling, chain provenance, navigation URLs, and a verification receipt. The most useful operational facts (input transience, synthetic-only restriction) are buried mid-paragraph rather than front-loaded, and the compute-mode detail is longer than an agent needs to select and invoke the tool. Structured but not organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 4 parameters, one nested object, and no output schema, the description is a major help on compute routing and data handling but fails on the decision function: policy_parameters' fields are deferred to an external manifest that is never provided, so an agent cannot correctly construct a policy payload. The output is only described as 'an AP2 artifact with execution_hash' with no structure, and with no output schema the description carries that burden without delivering it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description does not repeat schema text. It adds some chain-context meaning around parent_hashes/parent_tool_ids ('chain provenance', 'consumes upstream artifacts') and clarifies compute semantics with the gpu:true nuance. However, the nested policy_parameters object — whose schema defers to 'the tool's manifest' — remains undocumented in both schema and description, and the description does not compensate for that deferred field mapping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource are present ('check' + 'CRA Annex I Completeness'), and the description identifies it as an OpenChainGraph compute node for a compliance_mandate, consuming SPdx SBOM validator output and feeding CRA vuln-reporting readiness. However, it never explains what Annex I completeness actually evaluates, what constitutes 'complete,' or what the decision function decides — the bulk of the text is execution mechanics (compute binding) rather than domain function. It reads as name restatement plus infrastructure detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives positional guidance through the chain: it consumes art-138-spdx-sbom-validator and outputs to art-140-cra-vuln-reporting-readiness, which implies it is the middle step in a three-stage pipeline. Against dense siblings like assess_cra_vuln_reporting_readiness, this chain placement is the only differentiator. There is no explicit 'use this when/when not' statement and no contrast with the assessment tools it could be confused with, so guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_credit_concentration_topn_sectorCredit Concentration Top-N / Sector CheckerDRead-onlyIdempotentInspect
Credit Concentration Top-N / Sector Checker: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-445-credit-concentration-topn-sector.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior. The description adds that inputs are processed transiently and that an AP2 artifact is exported, but gives no insight into the actual decision logic or side effects beyond the generic compute binding details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is repetitive, stating compute binding modes twice and repeating phrases like 'browser delegation URL' and 'AP2 artifact'. It could be significantly condensed without losing any actual information, though it is not excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no explicit return value description, and the actual functionality is omitted. The description fails to provide enough context for an agent to understand what the tool computes, what inputs it truly requires, or what output to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema describes compute, parent_hashes, and parent_tool_ids, the critical policy_parameters field is left vague with 'See the tool's manifest for field names.' The description does not clarify what domain-specific inputs are needed for the credit concentration decision function.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not explain what credit concentration checking actually does. It only provides generic compute-node boilerplate about binding modes and chaining, without stating the tool's specific purpose or what 'Top-N / Sector' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any of the many sibling tools. The description is entirely generic and does not differentiate it from other concentration or sector checkers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_cscf_control_applicabilityCSCF Control Applicability & CoverageARead-onlyIdempotentInspect
CSCF Control Applicability & Coverage: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-486-cscf-control-applicability.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, aligning with the description's 'inputs processed transiently, not stored, logged, or retained.' The description adds valuable context about compute modes (server/browser delegation), the deterministic nature, and the AP2 artifact with execution_hash for provenance. This surpasses the bare annotations and provides clear behavioral expectations, earning a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long and dense, mixing essential info (purpose, compute modes) with secondary details like the URL and FV-status receipt. It front-loads the purpose and compute behavior, but the trailing 'Open at' and FV-status links add length without clear operational value for calling the tool—could be more concise. Some redundancy (repeating 'deterministic' and 'OpenChainGraph compute node') increases wordiness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (0 required), full schema coverage, and no output schema, the description covers the main operational aspects: purpose, compute modes, data handling, and provenance. It lacks explicit return value details, but since there's no output schema, that's a minor gap. It also mentions using synthetic data and provides verification links, which enrich completeness. Overall, sufficient 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.
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 parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description adds some value by explaining the 'auto' default behavior and that gpu:true always delegates, but it doesn't elaborate on the policy_parameters fields (says 'See the tool's manifest'), which is a gap given the nested object. Baseline 3 is appropriate as schema does most of the heavy lifting, with modest additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('check'), resource ('CSCF control applicability'), and context ('OpenChainGraph compute node'). It clearly distinguishes the tool as a compliance-mandate checker, though it doesn't explicitly name a sibling that does the same thing, relying on the 'compliance_mandate' tag to hint at its role. It could be clearer about what exactly it checks (the inputs vs the policy), but the purpose is largely identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use it (for CSCF control applicability checks) and provides context on compute modes (auto/server/browser), which helps an agent decide how to invoke it based on gpu:false vs gpu:true nodes. However, it doesn't mention when NOT to use it or explicitly alternative tools; it implies usage but lacks exclusions, so it doesn't fully guide selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_debt_validation_noticeDebt Validation Notice Completeness CheckerBRead-onlyIdempotentInspect
Debt Validation Notice Completeness Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-402-validate-regf-call-frequency. Open at: https://ainumbers.co/chaingraph/art-403-check-debt-validation-notice.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: determinism, compute mode behavior (server vs browser delegation), transient input processing with no storage/logging/retention, AP2 artifact export with execution_hash, upstream artifact consumption, and the FV-status snapshot semantics. This is rich, non-obvious behavior that an agent needs to know and that annotations do not provide. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive: 'Deterministic OpenChainGraph compute node' appears twice in the first two sentences, and the title is restated verbatim. It includes a long URL and a full FV-status JSON hash that add bulk without helping an agent decide how to invoke the tool. The useful information (compute modes, transient processing, upstream artifact) is buried in dense technical prose rather than front-loaded cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the rich execution-environment detail, the description omits the core domain logic: what constitutes a complete debt validation notice, what inputs the decision function requires, and what the returned AP2 artifact contains beyond an execution_hash. Since there is no output schema, the description should explain the return value and the meaning of policy_parameters, but it defers to an external manifest instead. An agent would struggle to invoke this tool correctly with the information provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add meaningful parameter-level semantics beyond what the schema already states; it references compute modes and gpu behavior, but these are already documented in the schema's compute parameter description. The policy_parameters object remains opaque in both the description and the schema ('See the tool's manifest for field names'), so the description does not compensate for that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Debt Validation Notice Completeness Checker' and an 'OpenChainGraph compute node (compliance_mandate)', which conveys the general domain but largely restates the name/title. It never states what 'completeness' means, what specific checks are performed, or what the tool's actual decision function evaluates. The verb and resource are implied rather than explicitly defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage constraints: it consumes upstream artifacts from art-402-validate-regf-call-frequency, instructs users to use synthetic or anonymised inputs only, and explains compute mode selection (auto/server/browser). However, it gives no guidance on when to choose this tool over its many siblings, no exclusions, and no alternative tool references. The usage context 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.
check_digital_trade_rulesDigital Trade Rules Compliance CheckerARead-onlyIdempotentInspect
Digital Trade Rules Compliance Checker: OpenChainGraph compute node (scheme_rule). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-52-digital-trade-fit-diagnostic. Output feeds: art-08-en16931-einvoice-batch-validator, art-55-trade-document-provenance-verifier. Open at: https://ainumbers.co/chaingraph/art-54-digital-trade-rules-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description greatly exceeds the annotations by disclosing deterministic execution, server-side vs client-side behavior, that inputs are processed transiently and not stored/logged, the export of AP2 artifacts with execution_hash, and the privacy-sensitive instruction to use only synthetic or anonymised inputs. This gives the agent substantial non-obvious behavioral context beyond what the annotations or schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fact-dense and mostly front-loaded, beginning with node type, determinism, compute behavior, and data handling. It is overly long, though: it repeats 'OpenChainGraph compute node' in the first two sentences and includes a tail of URL and FV-status details that add noise relative to what an agent needs for invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provenance, compute, privacy, and pipeline placement are all covered well, which is a strong foundation. However, the tool does not explain the expected policy_parameters fields, and with no output schema, the description only partially clarifies what the agent should expect in the server-side response beyond 'AP2 artifact with execution_hash.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with 100% coverage, so the baseline is adequate. The description mostly restates the compute-mode behaviors already present in the schema, and it does not clarify the contents or shape of the free-form policy_parameters object beyond referring to a manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Digital Trade Rules Compliance Checker implemented as an OpenChainGraph compute node and positions it by naming its upstream and downstream artifacts, which helps distinguish it from similar pipeline tools. It is not a perfect 5 because it still relies partly on the tool name for the actual subject matter, without stating what the compliance check evaluates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The compute-mode explanation gives clear and practical invocation guidance, especially the distinction between auto, server, and browser execution and the gpu:true special case. The upstream and downstream artifact declarations additionally define when in a chain the tool is meant to run, though there is no explicit comparison against alternative tools or a condition for 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.
check_dpa_gdpr_art28DPA Article 28 Completeness CheckerARead-onlyIdempotentInspect
DPA Article 28 Completeness Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-409-dpa-art28-completeness-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses deterministic execution, transient non-retention of inputs, server-versus-browser delegation behavior, and the AP2 artifact with execution_hash. This is substantial behavioral context that helps an agent anticipate side effects and privacy implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and includes useful operational detail, but it repeats 'OpenChainGraph compute node' and 'deterministic' in consecutive sentences. The URL and FV-status receipt add provenance context, though they could be trimmed without losing core invocation guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers execution modes, input privacy, output artifact, and a reference URL, which is fairly complete given the annotations and schema. However, without an output schema, it does not explain what the completeness-check result contains, and policy_parameters is left to an external manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the structured schema already documents all four parameters. The description mostly restates the compute-mode semantics already present in the schema and does not clarify policy_parameters field names, deferring those to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'DPA Article 28 Completeness Checker' and identifies the tool as an OpenChainGraph compute node, so an agent can recognize it as a completeness check for DPA Article 28. It does not explicitly contrast itself with sibling checkers, but the domain-specific title and compute-node framing provide enough distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete mode-selection guidance: 'auto' runs server-side on Cloudflare Workers, 'browser' forces a delegation URL, and gpu:true nodes always delegate. It also instructs users to input synthetic or anonymised data only. It does not name alternatives or exclusions relative to sibling tools, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_emir_uti_completenessEMIR UTI Completeness CheckerCRead-onlyIdempotentInspect
EMIR UTI Completeness Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-153-emir-trade-report-field-validator. Output feeds: art-155-emir-upi-validator. Open at: https://ainumbers.co/chaingraph/art-154-emir-uti-completeness-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds significant context: deterministic execution, server-side vs browser delegation, transient processing with no storage/logging/retention, AP2 artifact export, and upstream/downstream chain relationships. This goes well beyond the structured hints and gives a clear picture of the tool's runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and repetitive: 'OpenChainGraph compute node' appears twice, and the FV-status receipt, URL, and chain details add length without sharpening the core message. Crucial behavior is buried in a wall of provenance and compliance text rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain return values, but it only says 'Exports an AP2 artifact with execution_hash.' It never defines what a completeness check result looks like, what policy_parameters should contain, or how to interpret the artifact. The nested parent_hashes/parent_tool_ids relationship is only partially clarified by the upstream artifact reference. Important context for an agent 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.
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 value by tying parent_hashes/parent_tool_ids to concrete upstream artifacts (art-153-emir-trade-report-field-validator) and clarifies compute modes with gpu:true/false rules, which reinforces the schema's enum descriptions. It does not elaborate on policy_parameters, but the schema already covers that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as an 'EMIR UTI Completeness Checker' and an 'OpenChainGraph compute node' but never states what completeness is checked or what the tool actually computes. The upstream/downstream artifact references imply a chain role but do not clarify the core function. This is closer to a platform classification than an actionable purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives constraints such as 'Use synthetic or anonymised inputs only' and compute-mode instructions, but it does not say when to choose this tool over siblings like validate_emir_trade_report or check_cra_annex1_completeness. No exclusions or alternative routing is provided, leaving the when-to-use context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_etr_control_evidenceETR Singularity & Exclusive-Control Evidence CheckerBRead-onlyIdempotentInspect
ETR Singularity & Exclusive-Control Evidence Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-55-trade-document-provenance-verifier. Open at: https://ainumbers.co/chaingraph/art-352-etr-control-evidence-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the annotations: deterministic execution, transient input processing with no storage/logging/retention, server-side vs browser delegation, gpu:true always delegating, and the FV-status snapshot being offline-verifiable. It does not contradict the annotations, though it omits output format and failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and mostly informative, but the opening repeats 'OpenChainGraph compute node' twice and everything is packed into a single unformatted paragraph. Most sentences add unique behavioral or provenance context, but the structure is not well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute routing, data retention, output artifact, downstream consumer, and verification URL, which is useful. However, with no output schema and no explicit policy_parameters field names, an agent still lacks key information needed to construct a correct invocation for the actual evidence-checking function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the parameters. The description adds little parameter-specific meaning; it repeats compute-mode semantics already in the schema and leaves policy_parameters field names to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node that exports an AP2 artifact with an execution_hash, and the title names the ETR Singularity & Exclusive-Control Evidence domain. However, it never states in plain terms what evidence is checked or what decision the tool makes, so the core purpose remains implicit and mostly restates the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives compute-mode routing and says the output feeds into art-55-trade-document-provenance-verifier, but it does not say when to use this tool versus any alternative or when not to use it. 'Use synthetic or anonymised inputs only' is a constraint, not a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_eudi_readinessEUDI Wallet Credential-Acceptance Readiness CheckerARead-onlyIdempotentInspect
EUDI Wallet Credential-Acceptance Readiness Checker: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2026-11 (EUDI Wallet member-state rollout November 2026; FI SCA acceptance December 2027; AMLR July 2027). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-04-agent-identity-attestation-checker, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-13-eudi-wallet-credential-readiness-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, and the description adds substantial behavioral context: 'Inputs are processed transiently to compute the response and are not stored, logged, or retained' and 'Use synthetic or anonymised inputs only'. It also discloses the compute delegation behavior (browser vs server), the deterministic nature, and the AP2 artifact export with execution_hash. This goes well beyond the annotations and provides clear safety and execution details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, with many details (URLs, FV-status, deadlines) that may be critical but are presented in a paragraph format. It front-loads the core purpose and compute behavior but includes the URL and FV-status without clear separation, which might overwhelm an agent. It could benefit from structured formatting, but every sentence carries important information, so it's not verbose or repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (nested objects, multiple compute modes, chain provenance, output feeds, regulatory deadlines), the description provides extensive context: compute execution details, transient processing, output artifact, and links to related tools. It lacks explicit return value documentation (no output schema) but mentions the AP2 artifact and execution_hash. The description is thorough enough for an agent to invoke it correctly without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds extra meaning for the compute parameter (explicitly matching the schema's enum explanation) and the parent_hashes/parent_tool_ids purpose (chaining). It elaborates on policy_parameters as 'Input parameters for this tool's decision function' and directs to the tool's manifest for field names, which is helpful. However, it doesn't detail the exact policy parameter fields, but the schema's mention of the manifest and the nested object structure suffice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking EUDI wallet credential-acceptance readiness, with an explicit regulatory deadline and compute node designation. It distinguishes itself from broader 'readiness' siblings by naming the specific domain (EUDI wallet) and the compliance mandate, though it doesn't explicitly contrast with other readiness checkers like 'check_iso20022_pqc_readiness'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes specific when-to-use context by detailing the compute modes (auto/server/browser) and the chain provenance requirements. It does not explicitly state when NOT to use this tool or name alternative tools for different scenarios, though the detailed compute behavior and output feed references imply a unique context. No explicit exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_fatca_crs_submission_conformanceFATCA/CRS Submission Conformance CheckARead-onlyIdempotentInspect
FATCA/CRS Submission Conformance Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-490-fatca-crs-submission-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: deterministic execution, transient non-retained inputs, server-side vs browser delegation, gpu handling, AP2 artifact export with execution_hash, and offline-verifiable FV-status. These details meaningfully inform an agent about side effects, execution models, and data handling. No contradiction with readOnlyHint, idempotentHint, or destructiveHint exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool identity and core compute behavior, but it is dense and includes trailing provenance details such as the URL and FV-status receipt that are not needed for invocation. Several clauses repeat the 'deterministic OpenChainGraph compute node' idea. It is informative but not tightly pruned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides rich execution and data-handling context, which is helpful given there is no output schema. However, the core conformance logic is never explained, policy_parameters field names are deferred to an external manifest, and the exact response shape beyond an AP2 artifact is not specified. An agent could invoke the tool based on the schema but would still lack a clear picture of what result to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters including the compute enum and policy_parameters. The tool description does not add much parameter-specific meaning beyond the schema, but it does reinforce the compute-mode behavior. This matches the baseline expectation for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title make the operation and domain clear: checking FATCA/CRS submission conformance. However, the description mostly labels it as an OpenChainGraph compute node and does not explicitly state what the conformance check evaluates or what a conforming submission means. It is clear at the resource level but not semantically rich enough to distinguish the exact check from many other FATCA/CRS-related siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives compute-mode usage details and warns to use synthetic or anonymised inputs only, but it provides no guidance on when to choose this tool over alternatives such as track_fatca_crs_ro_remediation_closure or validate_w8_series_structural. There is no when/when-not framing, and no sibling route is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_fido_pqc_conformanceFIDO2 / WebAuthn PQC Conformance CheckerARead-onlyIdempotentInspect
FIDO2 / WebAuthn PQC Conformance Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-85-pqc-timeline-fit-diagnostic. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-88-fido-pqc-conformance-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: it is 'Deterministic', inputs are 'processed transiently and are not stored, logged, or retained', it 'Exports an AP2 artifact with execution_hash for chain provenance', and describes compute delegation behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and lengthy, packed with domain-specific jargon (OpenChainGraph, compliance_mandate, AP2 artifact, FV-status). It is front-loaded with purpose but quickly becomes verbose with provenance links and compute binding details. It could be streamlined for clarity without losing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool without an output schema, the description does not fully describe return values (beyond mentioning an AP2 artifact with execution_hash). It references external URLs and manifest for policy_parameters field names, which may be acceptable but leaves some gaps. The description covers compute modes, data handling, and chain relationships, but the absence of explicit response semantics is a minor shortfall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add significant detail beyond the schema's parameter descriptions. It mentions compute modes and the overall mechanism but does not elaborate on parent_hashes or parent_tool_ids beyond what the schema states. No additional semantic value provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'FIDO2 / WebAuthn PQC Conformance Checker' combined with 'OpenChainGraph compute node (compliance_mandate)' – it checks the conformance of FIDO2/WebAuthn systems against post-quantum cryptography requirements. This is specific and distinct from the many other check_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance: explains compute modes ('auto', 'server', 'browser'), instructs to use synthetic/anonymised inputs, and references upstream/downstream artifact identifiers. However, it does not explicitly state when to use this tool over competing check_* tools or describe exclusions. The guidance is implied by the tool's niche but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_g20_corridor_cost_gapG20/FSB Corridor Cost-Gap CalculatorCRead-onlyIdempotentInspect
G20/FSB Corridor Cost-Gap Calculator: OpenChainGraph compute node (risk_parameter). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-549-g20-corridor-cost-gap.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond annotations by disclosing determinism, transient processing ('not stored, logged, or retained'), compute delegation behavior for gpu:true nodes, and offline-verifiable FV-status snapshots. This gives an agent strong behavioral expectations for a read-only compute node.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is roughly 200 words with redundant phrases ('OpenChainGraph compute node' appears twice) and peripheral URL/FV-status details. The key compute-mode and privacy information is buried in a dense block rather than concisely organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a required nested policy_parameters object, the description still does not name the input fields or explain the semantic result of the cost-gap calculation. It mentions an AP2 artifact with execution_hash but not what an agent should send or expect in return.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds some useful context about the compute enum and parent_hashes chain provenance. However, the critical policy_parameters object remains opaque—the description only says 'See the tool's manifest for field names'—so it does not fully compensate for the lack of parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by repeating the title and calling the tool an 'OpenChainGraph compute node (risk_parameter)', but never states in plain language what a G20/FSB corridor cost gap is, what the tool computes, or what output it produces. An agent cannot tell what this tool does beyond inferring from its name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute-mode mechanics and says to use synthetic or anonymised inputs, but gives no guidance on when to choose this tool over siblings like compare_corridor_cost or model_stablecoin_corridor_economics. There is no scenario, prerequisite, or alternative-selection logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_genius_reserve_disclosureGENIUS Act Monthly Reserve Disclosure CheckerBRead-onlyIdempotentInspect
GENIUS Act Monthly Reserve Disclosure Checker: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2027-01-18 (GENIUS Act effective ≤ January 2027; monthly reserve composition reports required for licensed issuers; >$50B issuers subject to annual PCAOB audit. Re-verify against final-rule text on/after 2026-07-18.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-275-genius-reserve-disclosure-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the readOnly/idempotent annotations: it is deterministic, inputs are processed transiently and not stored/logged/retained, and compute modes (auto/server/browser) are explained. This is useful context that helps an agent understand side effects and execution behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and unstructured, mixing regulatory dates, provenance hashes, URLs, compute-mode behavior, output feeds, and FV-status in a single run-on block. It redundantly repeats 'OpenChainGraph compute node' and buries the most agent-relevant behavioral notes in a wall of parentheticals.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description never explains what the tool returns: a boolean, a report, an artifact, or something else. The policy_parameters are left to a manifest, and the actual meaning of a 'reserve disclosure check' is not clarified. This is a significant gap for an agent trying to invoke the tool correctly and interpret its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add field-level meaning beyond what is in the schema, and policy_parameters are explicitly deferred to a manifest. This meets the baseline but does not compensate for the opaque decision-function inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and function: checking GENIUS Act monthly reserve disclosure. The title and opening line make the domain and subject clear, and the regulatory deadline provides context. However, it does not distinguish this tool from the sibling check_genius_reserve_disclosure_conformance, which appears to overlap heavily, and it never states the actual check outcome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as check_genius_reserve_disclosure_conformance or check_mica_reserve_disclosure. The description gives regulatory context and advises using synthetic/anonymised inputs, but it does not explain the conditions that should lead an agent to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_genius_reserve_disclosure_conformanceGENIUS Act Reserve-Disclosure Conformance MonitorCRead-onlyIdempotentInspect
GENIUS Act Reserve-Disclosure Conformance Monitor: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2027-01-18 (GENIUS Act effective date is the earlier of 18 Jan 2027 or 120 days after final implementing regulations publish; the statutory 18 Jul 2026 rulemaking deadline was missed and no final rule exists as of 2026-08-07 (research/GENIUS-FINALRULE-CHECK-2026-08-07.md). Re-verify against final-rule text once one publishes.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-582-genius-reserve-disclosure-conformance-monitor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent. The description adds some detail about compute modes and artifact export (e.g., offline verification), but does not disclose other behavioral aspects like error handling, side effects, or rate limits beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with redundant phrases like 'Deterministic OpenChainGraph compute node' and lengthy explanations of compute modes. It spends more time on generic platform behavior than on the tool's specific function, making it poorly structured and not concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks an explanation of the output artifact's semantics or how to interpret conformance results. Without an output schema, the description does not compensate by clearly stating what the tool returns or how to consume the artifact, leaving critical context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already provide solid coverage for compute, parent_hashes, and parent_tool_ids. The description does not add clarity for the ambiguous policy_parameters field, which remains an open object without specified fields, so it does not enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a GENIUS Act Reserve-Disclosure Conformance Monitor and a compliance compute node, but does not specify the exact decision logic or output format. It is obscured by generic compute framework boilerplate, making the actual purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as the sibling check_genius_reserve_disclosure. It does not mention any usage context, prerequisites, or comparison to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_gpai_code_conformanceGPAI Code of Practice ConformanceARead-onlyIdempotentInspect
GPAI Code of Practice Conformance: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-174-nist-ai-rmf-function-mapper. Output feeds: art-176-ai-governance-readiness-diagnostic. Open at: https://ainumbers.co/chaingraph/art-175-gpai-code-of-practice-conformance.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint, idempotentHint, and destructiveHint=false, which convey it's a safe, non-destructive read operation. The description adds significant behavioral context beyond annotations: it details compute modes and their effects on execution (server-side on Cloudflare Workers vs browser delegation URL), confirms inputs are processed transiently and not stored/logged/retained, advises on input sanitization, mentions it exports an AP2 artifact and consumes/produces chain artifacts, and includes FV-status receipt verification details. This transparency is strong because it addresses privacy, persistence, delegation, and provenance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact for its complexity, covering compute modes, privacy, provenance, links, and verification in a focused paragraph. It front-loads the primary purpose and then layers behavioral details. Some elements like the FV-status URL and hash might be borderline noise for an agent, but they serve provenance transparency in a chain context. No obvious redundancy or tautology. It's sizeable relative to typical tool descriptions, but justified given the multi-faceted behavioral commitments.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with 4 params and an output schema absent, the description covers the essentials: what it computes, execution modes, privacy, provenance chain, and verification. The schema covers parameter semantics. There's no explicit statement of expected return structure beyond 'Exports an AP2 artifact with execution_hash' — this gives a clue but not detailed return fields. Since there is no output schema, more could be expected on output shape, but the description provides enough for an agent to assess suitability and invoke correctly. It's reasonably complete for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, and the schema provides detailed explanations for each param: compute mode with enum values and behavior, parent_hashes chain artifacts, parent_tool_ids matching, and policy_parameters object noting server-side computation. The description adds modest value by reinforcing the compute execution model and mentioning 'synthetic or anonymised inputs' (which relates to policy_parameters), but it doesn't add new semantics beyond schema. Since schema coverage is high, baseline is 3, but the description's reference to privacy and processing transiently for policy_parameters adds a small extra dimension for this sensitive compliance context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a GPAI Code of Practice Conformance compute node, which is clearly a specific resource and function. It states what the tool does: computes conformance for the GPAI Code of Practice. It does not explicitly distinguish itself from siblings like assess_ai_act_conformity or run_ai_act_highrisk_fit, though it names its upstream and downstream chain artifacts which give some differentiation. It's clear but not strongly differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context in terms of compute modes and execution behavior, specifying conditions under which server-side vs browser delegation occurs. It also notes that gpu:true nodes always delegate to browser, and advises using synthetic or anonymised inputs. However, it doesn't explicitly state when to choose this tool over alternatives among the many compliance check tools, despite context signals indicating a specific compliance_mandate role. It implies usage (e.g., when assessing GPAI Code of Practice compliance) but doesn't state exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_icm_quorum_forgery_riskICM Quorum Forgery ClassifierARead-onlyIdempotentInspect
ICM Quorum Forgery Classifier: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-494-icm-quorum-forgery-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly discloses transient processing, non-retention of inputs, browser delegation for gpu:true nodes, deterministic behavior, and the AP2 artifact export with execution_hash. This adds meaningful behavioral context beyond annotations and is fully aligned with readOnlyHint, idempotentHint, and destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well organized, front-loading the core purpose and then proceeding through compute behavior, privacy, and artifact details. It is longer than ideal, but every sentence adds relevant operational or provenance context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema coverage and annotations, the description covers purpose, execution routing, privacy/security constraints, provenance output, and verification links. An agent has enough orientation to invoke classify without needing to fetch the manifest first.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters effectively, including compute modes and parent_hashes/parent_tool_ids meaning. The description adds context about how compute modes relate to server/browser execution and mentions policy_parameters are computed server-side, which complements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description explicitly state what the tool does: it is a deterministic OpenChainGraph compute node that classifies ICM quorum forgery risk. It distinguishes itself from siblings by describing its compute node behavior and providing a public artifact URL and FV-status link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and when server vs browser execution occurs, and instructs users to use synthetic or anonymised inputs only. It doesn't explicitly name alternatives, but the compute mode guidance effectively tells the agent which execution path to choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ifrs17_risk_adjustmentIFRS 17 Risk Adjustment CheckerBRead-onlyIdempotentInspect
IFRS 17 Risk Adjustment Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-178-ifrs17-csm-rollforward-validator. Open at: https://ainumbers.co/chaingraph/art-179-ifrs17-risk-adjustment-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish safe/idempotent/read-only, and the description adds significant behavior beyond them: transient input handling, non-retention/logging, deterministic execution, server vs browser delegation semantics, AP2 artifact export, and upstream artifact consumption. No statement contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description repeats 'OpenChainGraph compute node' and 'Deterministic' in the opening, and includes URLs and FV-status provenance details that are not needed to select or invoke the tool. It is long and front-loads architecture framing instead of the intended check behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers compute modes, privacy, deterministic behavior, output artifact, upstream dependencies, and URL/provenance context, which is substantial for an agent. But with no output schema and a vague domain purpose, the description does not fully explain what result the checker produces or what policy_parameters must contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the structured fields already carry the parameter semantics. The description repeats compute-mode behavior but adds no new meaning for parent_hashes, parent_tool_ids, or policy_parameters, and defers policy_parameters fields to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mostly restates the title ('IFRS 17 Risk Adjustment Checker') and frames the tool as an 'OpenChainGraph compute node' without stating a concrete verb or what it verifies about risk adjustment. It says inputs are processed 'to compute the response' but never defines the response or the check, leaving the agent to guess the tool's domain behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context: upstream artifact requirement, synthetic/anonymised inputs, and compute-mode selection. However, it does not explain when this tool should be preferred over sibling IFRS17/ChainGraph tools, nor name alternatives, so selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_iolta_three_way_reconciliationIOLTA Three-Way Trust ReconciliationCRead-onlyIdempotentInspect
IOLTA Three-Way Trust Reconciliation: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-566-iolta-three-way-reconciliation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| verdict | No | |
| decision | No | |
| findings | No | |
| three_way | No | |
| scope_note | No | |
| clause_note | No | |
| client_count | No | |
| client_ledgers | No | |
| rejected_inputs | No | |
| statement_period | No | |
| outstanding_items | No | |
| outstanding_summary | No | |
| negative_balance_findings | No | |
| period_boundary_consistent | No | |
| period_boundary_mismatches | No | |
| reconciliation_tolerance_minor | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover readOnly, idempotent, and destructive hints. The description adds some behavioral context, such as 'Inputs are processed transiently... not stored, logged, or retained' and advises using synthetic/anonymised inputs. This provides a bit of extra transparency, though it does not contradict annotations and does not fully explain side effects 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and repetitive, repeating 'OpenChainGraph compute node' and 'Deterministic' multiple times. It includes long technical clauses about compute modes and URLs, deviating from the core purpose. The structure is cluttered, making it hard to extract the essential information quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested objects, parent hashes, policy parameters), the description lacks a high-level explanation of how the tool fits into a reconciliation workflow. It does not explain what the reconciliation accomplishes, how the parameters interact, or what the output represents. The existing output schema is not explained, leaving the overall context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all parameters, including detailed explanations for 'compute', 'parent_hashes', 'parent_tool_ids', and 'policy_parameters'. The tool description does not add significant meaning beyond what the schema already provides, so 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is vague about the tool's actual purpose. It repeatedly mentions 'OpenChainGraph compute node' and 'Deterministic' but never clearly states that it performs or checks a three-way reconciliation. The verb is missing, making it ambiguous what the tool does beyond being a compute node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description focuses on compute modes and parent hashes but does not explain under what circumstances an agent should select this tool over other reconciliation or compute tools in the sibling list. No scenarios, conditions, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_irrbb_csrbb_scopeIRRBB CSRBB Scope CheckerCRead-onlyIdempotentInspect
IRRBB CSRBB Scope Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-186-irrbb-standardised-approach-mapper. Output feeds: art-188-irrbb-disclosure-readiness-diagnostic. Open at: https://ainumbers.co/chaingraph/art-187-irrbb-csrbb-scope-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already signal that the tool is read-only and safe to invoke. The description adds meaningful context: it emphasizes deterministic computation, transient processing with no data retention or logging, and the requirement to use synthetic or anonymised inputs—an important safeguard for potentially sensitive financial data. However, it does not explicitly state the compute delegation behavior (auto vs. browser) which could be considered a behavioral trait, but that is covered in the schema description effectively. The mention of a browser delegation URL is useful, but it's more about runtime behavior than a hidden side effect. Overall, it complements annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and dense with technical jargon, covering multiple aspects (compute modes, data handling, artifact provenance, FV-status URLs) in a single block without clear structure. While some details are valuable (like transient processing and synthetic inputs), the description is overloaded with implementation-specific details that could be confusing (e.g., 'OpenChainGraph compute node (compliance_mandate)', 'Deterministic OpenChainGraph compute node'). It doesn't front-load the core purpose quickly; the first sentence is the title repeated, and the reader must wade through compute details before understanding any scope-related behavior. Significant trimming and structuring would improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested objects, no output schema), the description provides substantial operational context: deterministic computation, server-side vs. browser execution, transient data handling, and chain provenance. It also references upstream and downstream artifacts, giving an agent a sense of workflow dependencies. However, it lacks a clear explanation of the core function—what the scope check actually computes or returns—and the policy_parameters schema is open-ended (additionalProperties: {}), leaving ambiguity about what inputs are required. The references to FV-status and AP2 artifacts add provenance but not functional clarity. Overall, it covers many details but misses the essential 'what it does' aspect, making it incomplete for an agent to confidently invoke it with correct inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description already provides extensive documentation for all four parameters: compute (enum with meaning), parent_hashes (execution_hash values), parent_tool_ids (tool_id matching), and policy_parameters (input parameters for decision function). The description does not add much beyond what the schema already states—it reiterates the compute mechanics but doesn't clarify the structure of policy_parameters or what specific fields are expected (it points to the manifest). Since schema coverage is 100%, a baseline of 3 is appropriate since the schema does the heavy lifting; the description adds some context about auto-delegation but not enough to raise the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'IRRBB CSRBB Scope Checker' and description identify it as a compute node for checking IRRBB/CSRBB scope within the OpenChainGraph framework. However, the description does not clearly state what 'scope checking' entails—whether it classifies exposures, validates eligibility, or computes an indicator. It focuses heavily on compute mechanics (auto/browser/gpu) and chain provenance, with only an implicit recognition that it consumes upstream artifacts and feeds downstream diagnostics. This makes the core purpose ambiguous and fails to distinguish it from siblings like 'check_agency_eligibility_matrix' or 'check_cscf_control_applicability'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides extensive operational details about compute modes (auto, server, browser) and how inputs are processed transiently, but it does not explain when to use this tool versus alternatives. There is no guidance on what business scenario or decision requires invoking this scope checker, nor does it mention any preconditions (e.g., having upstream artifacts already processed). The reference to consuming 'art-186-irrbb-standardised-approach-mapper' and feeding 'art-188-irrbb-disclosure-readiness-diagnostic' hints at a workflow position, but it doesn't clearly say 'use this when determining if a portfolio falls under IRRBB/CSRBB scope' or similar. The heavy focus on compute delegation is more about operational behavior than usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_iso20022_pqc_readinessSWIFT / ISO 20022 PQC Readiness CheckerBRead-onlyIdempotentInspect
SWIFT / ISO 20022 PQC Readiness Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-85-pqc-timeline-fit-diagnostic, 500-hndl-quantum-risk-scorer. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-87-iso20022-pqc-readiness-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint/idempotentHint/destructiveHint, and the description adds genuine value beyond them: deterministic execution, compute-mode delegation rules (auto/server/browser, gpu:true always browser), and the privacy trait that inputs are processed transiently and never stored/logged/retained. This strongly corroborates the annotation profile with no contradiction, and the provenance chain (consumes/produces artifacts) is useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense wall of text with material that is noise for selection and invocation, notably the long FV-status hex hash and the absolute URL. While the opening is front-loaded with purpose, the trailing provenance/verification detail and hash are over-specified and unstructured, making it harder for an agent to scan quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex node tool with no output schema and a free-form policy_parameters object, the description covers invocation mechanics well (compute behavior, transient processing, synthetic-input requirement, artifact dependencies). However, the actual decision function — what inputs policy_parameters should contain and what the readiness check computes — is left opaque, so completeness for a correct call is partial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description's explanation of compute-mode behavior largely duplicates what the schema's compute parameter already states, adding only the Cloudflare Workers/gpu:false nuance. It does not clarify the free-form policy_parameters fields that the schema punts to 'the tool's manifest', so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line ('SWIFT / ISO 20022 PQC Readiness Checker: OpenChainGraph compute node') state a specific resource (ISO 20022/SWIFT PQC readiness) and output (AP2 artifact with execution_hash). It is clearly a readiness-check compute node, though the description leans heavily on compute mechanics and never explains what 'readiness' actually evaluates, which blurs differentiation from the many sibling readiness tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no routing among the large sibling readiness/check family (e.g., run_pqc_timeline_fit, check_fido_pqc_conformance). The description does add a hard input constraint ('Use synthetic or anonymised inputs only') and lists upstream/downstream artifact dependencies, which is contextual, but it never tells an agent how to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_jwks_pinned_directoryJWKS Pinned-Directory CheckARead-onlyIdempotentInspect
JWKS Pinned-Directory Check: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-129-webbotauth-signature-verifier. Output feeds: art-130-signature-directory-validator. Open at: https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| key_count | No | |
| digest_match | No | |
| pinned_digest | No | |
| computed_digest | No | sha256(canonicalize(directory_jwks)), lowercase hex. |
| pinned_digest_well_formed | No | True only if pinned_digest is present and matches 64 lowercase-or-mixed-case hex characters. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds context beyond annotations: inputs are transient and not stored/logged/retained, compute modes affect server vs. browser execution, and it exports an AP2 artifact with execution_hash. However, it does not explain the significance of openWorldHint=false (presumably the world is closed for this check) nor what happens if inputs are not synthetic/anonymized, and the FV-status referral is abstruse. It does not contradict annotations, but it also does not fully elaborate on behavioral edge cases like what happens when compute:'server' is used on a gpu:true node.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense single paragraph of five long sentences. It front-loads the node type and compute semantics but then packs in upstream/downstream artifact IDs, a URL, and an FV-status receipt reference, which borders on clutter for the agent's invocation purpose. Each sentence adds some value, but the structure is not scannable; agents would benefit from bulleted breakdown of compute modes and chain provenance. It is not overly long by word count, but it is dense and jargon-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present (for the AP2 artifact and execution_hash), the description need not detail return values. It does provide chain context (upstream and downstream artifacts), the open URL, and compute execution semantics—which are helpful. However, it omits any statement of what the check actually validates (e.g., whether JWKS keys are pinned and fresh), the threshold for 'pinned-directory' compliance, and what the output artifact contains beyond an execution_hash. Given the tool's moderate complexity (4 params, nested policy_parameters, no required params) and the existence of an output schema, the description is largely adequate but leaves the core decision logic to the manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the 'compute' enum is explained in detail, 'parent_hashes' and 'parent_tool_ids' are described as chain provenance parameters, and 'policy_parameters' is described as input parameters for the decision function with a pointer to the tool manifest for field names. The description does not add much beyond the schema—it reiterates compute modes and mentions 'synthetic or anonymised inputs' but does not explain the policy_parameters structure or the parent_hashes/parent_tool_ids relationship beyond what the schema says. Since the schema carries the full burden, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for 'JWKS Pinned-Directory Check' under compliance_control. It clearly states what the tool does (checks a pinned directory of JWKS keys) and positions it within a chain (consumes from art-129, feeds art-130). However, the description relies heavily on domain-specific jargon (OpenChainGraph compute node, AP2 artifact, execution_hash, FV-status) without a plain-language statement of the check's logic or outcome, and the extensive procedural notes partially obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance about when to use this tool: it is for gpu:false nodes with a registered kernel when compute is 'auto', but the compute modes are explained ('browser' forces client-side and returns a delegation URL; gpu:true always delegates). It also tells the user to use synthetic or anonymized inputs only, and references consuming and feeding artifacts, which implies placement in a chain. It does not explicitly name sibling tools to pick between or state when NOT to use it (e.g., when you need a non-ChainGraph verification), but for a highly specialized tool the guidance is reasonably complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_lei_relationship_consistencyLEI Relationship Consistency CheckerCRead-onlyIdempotentInspect
LEI Relationship Consistency Checker: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-600-lei-relationship-consistency.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral traits beyond the annotations: inputs are processed transiently and not stored/logged/retained, compute:'browser' returns a delegation URL, gpu:true nodes always delegate, and exports an AP2 artifact with execution_hash for provenance. These details add substantial context about execution side effects, privacy, and result format, complementing the readOnly and idempotent annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and over-burdened with generic compute-node boilerplate (Cloudflare Workers, FV-status URLs, delegation behavior) that applies to many similar tools. It is not front-loaded with a clear statement of purpose; the first sentence merely repeats the title. A substantial portion of the text is unrelated to the specific LEI-consistency function, making it less concise than it should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having full schema coverage and annotations, the description omits essential information about the tool's purpose and expected outputs. There is no output schema, and the description only mentions that it 'exports an AP2 artifact with execution_hash' without explaining the structure of results or how an agent should interpret the consistency check outcome. The FV-status and URL links provide provenance but do not fill this core gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage for all parameters, including the compute enum semantics. The description adds a bit of extra context for the compute parameter by elaborating on server-side vs browser delegation, but it does not meaningfully clarify parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema already states. This is a baseline-3 situation where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a restatement of the title ('LEI Relationship Consistency Checker') and then immediately shifts to generic compute-node infrastructure details such as server-side execution, compute modes, and Cloudflare Workers. It never states what the consistency check actually verifies or what problem it solves. The core function remains vague, making it difficult to understand what the tool does beyond its name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any sibling tool. The only usage-related instruction is 'Use synthetic or anonymised inputs only', which is a data handling caution, not a selection criterion. No alternatives or exclusive conditions are mentioned, leaving an agent without direction for choosing this tool over other check_* or LEI-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_license_compatibilityLicense Compatibility CheckerCRead-onlyIdempotentInspect
License Compatibility Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-203-embedded-license-selector, art-198-cross-license-rights-comparator. Output feeds: art-205-license-terms-assembler. Open at: https://ainumbers.co/chaingraph/art-204-license-compatibility-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive; the description adds substantial behavior beyond that: deterministic execution, compute auto/server/browser delegation, transient no-store/no-log/no-retain handling, the synthetic-input requirement, AP2 artifact export with execution_hash, and upstream/downstream provenance. This far exceeds the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences redundantly repeat 'OpenChainGraph compute node', and the URL plus FV-status snapshot explanation add bulk without helping invocation. The text front-loads a tautology rather than the actual decision function, making it less concise and less structured than it should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description never explains what the response or AP2 artifact contains. It also leaves policy_parameters fields undefined, referring to an external manifest. For a 4-parameter tool with a nested arbitrary object and no output schema, this is a significant completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds no parameter-level meaning beyond the schema; it only restates compute-mode behavior. policy_parameters is still delegated to an external manifest rather than clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title and generic category ('License Compatibility Checker: OpenChainGraph compute node') and never states what the tool actually computes or what a compatibility result looks like. Upstream/downstream artifact names imply a pipeline role, but the text does not distinguish this from sibling license selection/election/verification tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or comparison with alternatives. Operational constraints such as compute modes and 'Use synthetic or anonymised inputs only' are instructions, not usage-selection guidance. The upstream/downstream edges imply a chain position but do not tell an agent when to choose this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_linea_l2_finality_windowLinea L2 Finality Window ClassifierCRead-onlyIdempotentInspect
Linea L2 Finality Window Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-290-check-linea-l2-finality-window.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are processed transiently and not stored, and notes that gpu:true nodes always delegate to the browser. However, it fails to explain the actual behavior of the classifier (e.g., what constitutes a finality window, how results are returned) and includes largely irrelevant compute details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and 'compliance_mandate' multiple times. It is not front-loaded with the essential purpose; instead, it leads with generic compute details before any meaningful action statement, making it hard to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool, the description leaves out critical context: it never explains what a 'finality window' is, how the classifier determines finality, or what the output (AP2 artifact) represents. It also omits any mention of error conditions or edge cases, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for all parameters, including compute mode, parent_hashes, parent_tool_ids, and policy_parameters. The description adds little beyond echoing the schema; it does not clarify the expected format or semantics of parent_hashes/parent_tool_ids beyond what is already in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title indicates it's a Linea L2 Finality Window Classifier, but the description buries this in generic ChainGraph/compute jargon. The core action (classifying/checking finality window) is not clearly stated, and the description reads like a template with unrelated details about GPU nodes and Cloudflare Workers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description focuses entirely on compute modes and internal mechanics, offering no context about which scenarios warrant checking Linea L2 finality vs other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checklist_step_receiptMint a hash-chained checklist step receiptAInspect
Completes ONE step of a checklist/SOP run and returns its OCG v0.4 step receipt: execution_hash chains to prev_step_receipt_digest (pass the previous step's execution_hash, or omit for step 0). A blocking-gate step with evidence_requirement != "none" and no evidence supplied is refused (the caller enforces step order; this tool enforces the evidence requirement per step). Call once per step in order, then pass the full ordered list of returned receipts to checklist_verify_run to check the chain and mint the run receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| step | Yes | The step object from the definition's steps[] array being completed. | |
| evidence | No | Evidence payload, e.g. { text_digest }, { file_sha256 }, or { attestation_digest }. Required unless evidence_requirement is "none". | |
| timestamp | Yes | ISO 8601 completion timestamp (caller-supplied for determinism). | |
| step_index | Yes | Zero-based index of this step in the definition. | |
| completer_key | No | Identifier of who/what completed the step (e.g. an agent id). Never real PII. | |
| definition_digest | Yes | The definition_digest from checklist_validate_definition. | |
| prev_step_receipt_digest | No | execution_hash of the previous step's receipt. Omit for the first step in the run. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no behavioral annotations (readOnlyHint, destructiveHint etc. all false), the description reveals key side effects: it returns a hashed receipt that chains to the previous step, enforces evidence requirements for blocking steps, and refuses execution if evidence is missing. It does not discuss idempotency or detailed failure modes, but provides sufficient transparency for safe use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently conveys purpose, usage, parameters, chaining logic, and enforcement rules. It is front-loaded with the main action and contains no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested step object, chaining, evidence rules) and lack of output schema, the description provides sufficient context: it explains the return value (OCG v0.4 step receipt with execution_hash), the chaining requirement, the evidence enforcement, and references the verifying sibling tool. No gaps remain for a competent agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant value beyond the schema. For example, it explains that prev_step_receipt_digest must be the execution_hash of the previous step (or omitted for step 0), and that evidence is required unless evidence_requirement is 'none'. These constraints are not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it completes one step of a checklist/SOP run and returns a receipt. It explicitly references the sibling tool checklist_verify_run for subsequent verification, distinguishing its role in the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions: 'Call once per step in order' and specifies that evidence is required for blocking steps when evidence_requirement is not 'none'. It also directs the caller to pass the ordered list of receipts to checklist_verify_run, giving clear guidance on when to use this tool and how to sequence it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checklist_validate_definitionValidate a checklist/SOP definitionARead-onlyIdempotentInspect
Validates a checklist or SOP definition JSON against the CHECKRUN-1 schema (definition_id, title, semver version, non-empty steps[] each with step_id/title/instruction/evidence_requirement (none|text|file-digest|attestation)/gate (blocking|advisory)). Returns valid:true/false plus a field-by-field error list. Pair with checklist_step_receipt to run the definition headlessly.
| Name | Required | Description | Default |
|---|---|---|---|
| definition | Yes | The checklist/SOP definition object to validate. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds context on the return structure (valid:true/false plus field-by-field error list) and the specific schema validated, which goes beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every sentence adds value: validating against schema, listing fields, mentioning return type, and suggesting a complementary tool. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validation tool with one parameter and no output schema, the description covers input schema details, output format, and a useful pairing suggestion. It is fairly complete, though it could optionally mention potential edge cases or limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the input schema only describes 'definition' as an object. The description significantly expands by enumerating the expected fields (definition_id, title, semver version, non-empty steps with subfields), adding crucial meaning for correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool validates a checklist/SOP definition JSON against the CHECKRUN-1 schema, listing the required fields. It also distinguishes itself from the sibling tool checklist_step_receipt by noting the pairing for headless execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validation before running a definition, mentioning pairing with checklist_step_receipt. However, it does not explicitly state when not to use it or compare with other similar siblings like checklist_verify_run.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checklist_verify_runVerify a checklist run's hash chain and Merkle rootARead-onlyIdempotentInspect
Recomputes and checks a checklist run: every step receipt's execution_hash, the hash-chain link between consecutive steps, and (if a run_receipt is supplied) the §20.1 RFC 6962 Merkle root over every step. Returns valid:true/false, per-step ok/hash_ok/link_ok, and broken_at (the zero-based index of the first broken step, or null). Same recompute a human gets from the browser Run Verifier.
| Name | Required | Description | Default |
|---|---|---|---|
| run_receipt | No | The run receipt to check the Merkle root and its own execution_hash against. Omit to check only the step chain. | |
| step_receipts | Yes | Ordered array of step receipts, as returned by checklist_step_receipt. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true. The description confirms these by describing recomputation without side effects. It adds detail on the verification process but does not disclose any new behavioral traits beyond what annotations and schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy. First sentence covers operations and output, second provides analogy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description fully explains return values (valid, per-step ok/hash_ok/link_ok, broken_at). Combined with schema and annotations, the tool is fully comprehensible with no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds value by explaining the effect of omitting run_receipt (only step chain check) and that step_receipts come from checklist_step_receipt. This clarifies parameter usage beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it recomputes and checks a checklist run, listing three specific verifications (execution_hash, hash-chain link, Merkle root) and the output structure. It distinguishes from sibling tools like checklist_validate_definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While it implies verification use, it does not mention exclusions or when another tool might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_mcp_registry_entryMCP Registry Entry Conformance CheckerCRead-onlyIdempotentInspect
MCP Registry Entry Conformance Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-148-mcp-authorization-metadata-validator. Open at: https://ainumbers.co/chaingraph/art-149-mcp-registry-entry-conformance.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description discloses that inputs are processed transiently and not stored, recommends using synthetic or anonymised inputs, and mentions exporting an AP2 artifact and consuming upstream artifacts. These are valuable behavioral traits not covered by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and meandering, mixing compute modes, persistence guarantees, artifact export, and status links. It lacks a front-loaded, concise statement of purpose and includes repetitive or niche jargon (e.g., 'OpenChainGraph compute node', 'compliance_mandate') that distracts from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what an 'MCP registry entry conformance check' actually verifies, nor does it describe the expected output (no output schema). It references upstream artifacts and a status URL but leaves the core functionality and results ambiguous, making it incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 4 parameters with 100% coverage. The description adds minor context about the 'compute' parameter's default behavior, but it does not meaningfully elaborate on 'parent_hashes', 'parent_tool_ids', or 'policy_parameters' beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Conformance Checker' but does not specify what aspect of an MCP registry entry it validates or what the output is. The core purpose is buried under compute-mode and provenance details, leaving an agent unclear about the tool's actual function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus sibling tools like 'validate_mcp_authorization_metadata' or 'validate_mcp_server_identity'. The description lacks conditions, alternatives, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_mica_register_presenceMiCA Register Presence CheckARead-onlyIdempotentInspect
MiCA Register Presence Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-602-mica-register-presence-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| fence | No | |
| search | No | |
| verdict | No | |
| snapshot | No | |
| rationale | No | |
| not_proven | No | |
| match_count | No | |
| match_found | No | |
| matched_row | No | |
| matched_rows | No | |
| register_type | No | |
| register_label | No | |
| retrieval_date | No | |
| entity_identifier | No | |
| judgment_required | No | |
| register_source_ref | No | |
| register_snapshot_digest | No | |
| verdict_unavailable_reason | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing determinism, server-side vs browser delegation behavior, transient input processing with no storage/logging/retention, synthetic-input constraints, and AP2 artifact export with execution_hash. These are meaningful behavioral details that annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most important behavioral facts, but it repeats 'OpenChainGraph compute node' and includes a lengthy FV-status URL/hash that is unlikely to be needed for invoking the tool. It is informative but not tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter tool with a rich output schema and annotations, the description is largely complete: compute modes, transient processing, provenance, spec URL, and capability status are all covered. The main gap is a plain-language statement of what the presence check actually determines and what the response signifies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some context around compute behavior and chain provenance, but it largely restates the schema's compute-mode explanation and defers policy_parameters field names to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a concrete operation: a MiCA Register presence check exposed as a deterministic OpenChainGraph compute node, which distinguishes it from related tools like check_mica_reserve_disclosure. However, it never explicitly states what input is checked or what the response represents, relying partly on the title/name for the core verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful usage context such as compute mode selection and 'use synthetic or anonymised inputs only', but it does not say when to choose this tool over sibling MiCA/register tools or when not to use it. The guidance is implied rather than explicit about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_mica_reserve_disclosureCheck MiCA Reserve DisclosureBRead-onlyIdempotentInspect
Check MiCA Reserve Disclosure: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-512-check-mica-reserve-disclosure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description meaningfully enriches the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) by adding a privacy guarantee — 'inputs are not stored, logged, or retained' — the execution environment (Cloudflare Workers), the delegation behavior, the AP2 artifact export, and the offline-verifiable FV-status receipt. The 'deterministic' claim appropriately aligns with the idempotentHint annotation. It loses a point for never mentioning authentication requirements or failure modes, but the transparency bar is solidly met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Most sentences carry distinct, relevant information — compute modes, privacy, artifact export, and verification — but the description is written as a dense wall of text frequently interrupted by inline code tokens (compute:"auto", gpu:false, execution_hash) that hinder scannability. The FV-status paragraph, while covering immutability, could be shortened significantly without losing meaning. It's information-dense and mostly relevant, but far from a tight editorial pass.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify the response/verdict semantics but does not explain what a successful check returns or how the AP2 'execution_hash' connects to the check's outcome. It does a good job of covering execution topology, privacy, and verification pointers (the ainumbers URL, the manifest reference), which covers much of the tool's moderate complexity. The gap on return-value semantics for a compliance check is notable but not disqualifying.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, establishing a baseline of 3, and the description does not add meaning beyond the schema's own parameter documentation. The prose restates that shipped config 'policy_parameters' feed a 'decision function' and covers compute modes — both already documented in the schema's properties. It references 'the tool's manifest for field names' as a pointer, but this is an external reference rather than new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'deterministic OpenChainGraph compute node (compliance_mandate)' but never actually defines what 'Check MiCA Reserve Disclosure' means operationally — the core verb's semantics are left to the title. While verb+resource are explicit in the name, the description focuses entirely on infrastructure mechanics (compute bindings, Cloudflare Workers) rather than what 'checking' a reserve disclosure entails. It's not tautological, but it risks being so since the one sentence steered at purpose restates the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains internal mode selection — 'compute:"auto"' vs '"browser"' and that 'gpu:true nodes always delegate to the browser' — but provides no guidance on WHEN to use this tool versus clear alternatives like check_genius_reserve_disclosure, check_genius_reserve_disclosure_conformance, verify_proof_of_reserves_consistency, or route_mica_transitional_deadline, all of which appear in the sibling list. The only external guidance, 'Use synthetic or anonymised inputs only,' is a guardrail rather than a routing instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_mt101_coexistence_readinessSwift MT101 Coexistence Readiness DiffCRead-onlyIdempotentInspect
Swift MT101 Coexistence Readiness Diff: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/tools/577-mt101-coexistence-readiness-diff.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable non-obvious behavior: inputs are transient and not stored/logged, output is an AP2 artifact with execution_hash, and there is a browser delegation URL option for gpu:true nodes. It also discloses the FV-status receipt as a snapshot not a subscription. However, the 'Deterministic OpenChainGraph compute node' phrasing is boilerplate that doesn't add specificity, and it doesn't explain what a browser delegation URL does or what happens on the client side. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads a lot of technical boilerplate ('OpenChainGraph compute node (compliance_mandate)', 'Deterministic OpenChainGraph compute node') that repeats the same information. It then dives into compute mode details and security/retention statements, followed by a URL and a hash. The most salient information for an agent — what the tool computes and what the result represents — is missing entirely. Every sentence is about infrastructure mechanics, not the tool's actual function. This reads as a compliance catalog entry, not a tool guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description bears the burden of explaining the return value. It does say the output is an AP2 artifact with execution_hash for chain provenance, which is helpful. But it doesn't explain what 'Swift MT101 Coexistence Readiness Diff' means as a result — what does 'readiness' mean, what does the diff compare? The siblings hint that many tools are check/compute/validate tools, so the agent needs to know what domain inputs this accepts (MT101 messages, policy parameters?) and what a 'readiness diff' would be. The description never connects the compute mode, the policy parameters, and the output into a coherent workflow. So while the provenance and privacy aspects are covered, the functional core is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter has a description. The compute parameter's enum semantics are explained in the schema and the description elaborates on the auto/server/browser behavior. parent_hashes and parent_tool_ids have clear descriptions about chaining provenance. The policy_parameters object is only loosely described in the schema (no field names), and the description merely points to the manifest instead of enumerating fields. So while the description adds useful context (transient processing, AP2 artifact export), it doesn't compensate for the vague policy_parameters — but since schema coverage is high and the schema handles most semantics, this is above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Swift MT101 Coexistence Readiness Diff') and frames it as a compute node, which suggests it computes a diff or readiness assessment. However, it never states what the tool actually outputs — what 'Coexistence Readiness' means, what the diff is between, or what an agent would do with the result. The purpose is implied by the name but not explained, so an agent cannot tell exactly what result it will get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute mode selection (auto/server/browser) in detail, which is useful for when to use this tool (mostly server-side compute). However, it provides no guidance on when to use this tool versus the 60+ sibling check_* tools or other coherence/readiness tools in the catalog. There is no mention of what input domain or business scenario this handles (MT101 coexistence), no mention of prerequisites like having upstream AP2 artifacts, and no alternatives suggested.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_muni_arbitrage_spending_exceptionMuni Arbitrage Spending-Exception CheckerCRead-onlyIdempotentInspect
Muni Arbitrage Spending-Exception Checker: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-569-muni-arbitrage-spending-exception-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavior beyond the annotations: it states inputs are processed transiently and not stored/logged/retained, exports an AP2 artifact with execution_hash, and explains compute mode delegation (auto/server/browser). These are genuine additions beyond readOnly/idempotent/destructive hints. However, it does not describe the actual decision behavior or failure modes, and there is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and spends most sentences on generic infrastructure (compute modes, privacy, artifact export, provenance link) that is not specific to this tool. It is not front-loaded with the actual purpose; the first sentence repeats the title and then dives into boilerplate. The information density is low for an agent trying to understand the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a compliance-rule checker, yet the description says nothing about what the rule is, what inputs are needed (beyond generic parent hashes), what the output looks like (no output schema), or when it should be invoked. The domain-specific logic is entirely absent—policy_parameters is undefined. An agent cannot determine what this tool does or how to use it correctly, making it grossly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides description for all four parameters (100% coverage). The description does not add any meaning beyond the schema—it only restates the compute mode behavior already in the schema. The critical policy_parameters field is left vague ('see the tool's manifest'), and the description does not compensate. Baseline 3 applies because schema covers the parameters, but no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is dominated by generic OpenChainGraph compute-node boilerplate (compute modes, transient processing, AP2 artifact, FV-status) and never states what the 'muni arbitrage spending exception' check actually does. The title hints at a purpose but the description does not define the verb, resource, or decision logic. It is not a tautology, but it fails to distinguish this tool from other compliance/check tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any of the thousands of sibling tools. It does not describe a scenario, prerequisites, or alternatives. The description only mentions compute modes, which are operational details, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_nis2_art21_measuresNIS2 Article 21 Gap Checker (Ten Cybersecurity Risk-Management Measures)ARead-onlyIdempotentInspect
NIS2 Article 21 Gap Checker (Ten Cybersecurity Risk-Management Measures): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-141-nis2-entity-scope-classifier. Output feeds: art-143-nis2-penalty-exposure-calculator. Open at: https://ainumbers.co/chaingraph/art-142-nis2-art21-gap-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds substantial behavioral context beyond these: it explains the deterministic nature, the transient processing of inputs (not stored, logged, or retained), the execution_hash for chain provenance, and the FV-status snapshot. It clarifies that gpu:true always delegates to browser, and that compute modes behave differently. This goes far beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: it front-loads the tool's purpose and compute behavior, then outputs, then consuming artifacts, then the URL and FV-status. Every sentence adds operational detail. Slightly long (over 200 words) but justified given the compute binding details and provenance requirements; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic compute node with full schema documentation and strong annotations, the description covers the essential operational aspects: compute modes, input sensitivity, chain consumption, and verification. It lacks an explicit statement of the response structure (no output schema), but the description mentions exporting an AP2 artifact with execution_hash, which conveys the return shape reasonably. The FV-status and links provide additional verification context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter meanings (compute enum, parent_hashes, parent_tool_ids, policy_parameters). The description adds no new parameter-specific semantics beyond restating the compute behavior in prose. The policy_parameters field is noted to require the tool's manifest for field names, which is helpful but not exhaustive. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is highly specific: 'OpenChainGraph compute node (compliance_mandate)' immediately identifies it as a deterministic tool for checking NIS2 Article 21 measures. It distinguishes from siblings like check_nis2_governance_readiness by naming the exact Article and the ten risk-management measures. The consumer/producer relationships (art-141-input, art-143-output) further clarify its niche in the pipeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use browser vs server compute modes and which inputs are required (synthetic/anonymized only). It names upstream and downstream artifacts, guiding an agent on placement in a chain. However, it doesn't explicitly list when NOT to use this tool or describe alternatives (e.g., for governance readiness vs. gap checking), though the pipeline relationships provide sufficient context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_nis2_governance_readinessNIS2 Governance Readiness Checker (Art. 20 — Management Body Accountability)BRead-onlyIdempotentInspect
NIS2 Governance Readiness Checker (Art. 20 — Management Body Accountability): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-145-nis2-ict-supply-chain-diligence-scorer. Open at: https://ainumbers.co/chaingraph/art-146-nis2-governance-readiness-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond annotations: deterministic execution, transient non-retained inputs, compute modes (server vs browser delegation), and chain provenance with execution_hash. Annotations already state readOnly and idempotent, but the description provides useful specifics about execution environment and privacy guarantees. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and cluttered with implementation details (Cloudflare Workers, URLs, FV-status receipts) that are not essential for an agent to call the tool. It front-loads the purpose but then digresses into technical specifics. Several sentences could be trimmed without losing core guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the tool exports an AP2 artifact with execution_hash and mentions consuming upstream artifacts, which gives some output context. However, with no output schema, it does not detail the structure of the returned artifact or clarify what the policy_parameters should contain beyond pointing to a manifest. The compute behavior is well explained, but output format is vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are already documented. The description mentions compute modes and parent hashes but does not add meaning beyond the schema. It refers to 'See the tool's manifest for field names' for policy_parameters, which is acceptable given schema coverage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks NIS2 governance readiness per Art. 20, with a specific regulatory focus. The verb 'check' and resource are explicit. It distinguishes from siblings by naming the exact regulation and article, though it is buried in a lengthy description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or mention of alternatives. The description implies it is part of an OpenChainGraph pipeline (consumes upstream artifacts) but does not say when to prefer this tool over similar NIS2 tools like check_nis2_art21_measures or calculate_nis2_penalty_exposure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_nway_balance_closureN-Way Balance Closure CheckBRead-onlyIdempotentInspect
N-Way Balance Closure Check: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-525-nway-balance-closure-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| systems | No | |
| triples | No | |
| decision | No | |
| pairwise | No | |
| scope_note | No | |
| break_pairs | No | |
| as_of_values | No | |
| system_count | No | |
| triple_count | No | |
| boundary_note | No | |
| closure_holds | No | |
| measure_label | No | |
| rejected_inputs | No | |
| suspect_systems | No | |
| as_of_consistent | No | |
| declared_disagreements | No | |
| max_abs_residual_minor | No | |
| authoritative_system_id | No | |
| closure_tolerance_minor | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the annotations: deterministic execution, server-side vs browser delegation, gpu:true routing, transient input processing with no retention, and the requirement to use synthetic or anonymised data. It also discloses artifact export with execution_hash and the FV-status receipt semantics. Nothing contradicts the declared read-only, idempotent, and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and organized: purpose label, compute behavior, privacy handling, artifact output, and verification status. It earns most of its length but repeats 'OpenChainGraph compute node' and 'deterministic' and appends long URLs. Still, there is little fluff and the operational details are presented in a useful order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations cover safety, the description provides solid operational context: compute modes, privacy, and artifact provenance. However, it never says what an N-way balance closure check is validating or how it relates to the broader compliance chain, and there is no when-to-use guidance among the many sibling tools. The description is acceptable but not fully self-sufficient for this complex compute node.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the four parameters; this is the baseline of 3. The description re-expresses compute-mode behavior that is already in the compute parameter's description, but it does not add new meaning about parent_hashes, parent_tool_ids, or policy_parameters. 'Use synthetic or anonymised inputs only' is guidance rather than parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text mostly describes the tool as a 'deterministic OpenChainGraph compute node' rather than stating what an N-way balance closure check actually verifies or computes. 'compliance_control' is a category label, not a functional explanation, and the phrase 'N-Way Balance Closure Check' largely repeats the title. The exported AP2 artifact with execution_hash implies an output, but the core check semantics are left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this tool or when to prefer a sibling. The description explains compute modes and browser delegation, but those are execution mechanics, not usage context. 'Use synthetic or anonymised inputs only' is a data-handling constraint, not guidance on choosing this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_official_statement_completenessMunicipal Official Statement Completeness CheckerBRead-onlyIdempotentInspect
Municipal Official Statement Completeness Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-400-check-official-statement-completeness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states 'Inputs are processed transiently and are not stored,' which goes beyond the annotations by detailing data handling. It also discloses compute binding behavior, adding transparency about execution modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, restating 'OpenChainGraph compute node' and the compute binding details multiple times. The core purpose is front-loaded, but redundancy reduces clarity and efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions it exports an AP2 artifact with execution_hash, hinting at output, but lacks detail on what constitutes completeness or how the decision function works. The policy_parameters field points to a manifest, leaving some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions, including compute mode and chaining fields. The tool description itself does not add further parameter semantics, but the schema is adequate, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'Municipal Official Statement Completeness Checker' and a 'compliance_mandate' compute node, making its purpose unambiguous. It identifies the specific resource (official statements) and action (checking completeness).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternatives. It does not mention alternatives or criteria for selection, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_operator_exit_portabilityOperator Exit & Data PortabilityARead-onlyIdempotentInspect
Operator Exit & Data Portability: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-520-operator-exit-data-portability.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description adds substantial behavioral context: it states that inputs are processed transiently and not stored, logged, or retained, and it explicitly instructs to use synthetic or anonymised inputs only. This goes beyond the annotations and informs the agent of important privacy constraints. It also discloses that gpu:true nodes always delegate to the browser, which is non-obvious behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long and includes many technical details (compute modes, URLs, FV-status, artifact export). It is structured in a logical order, starting with purpose, then compute behavior, then data handling, then output. However, the length and inclusion of URLs and status links may distract from the core message. Some sentences are dense and could be trimmed without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, transient processing, artifact export) and the absence of an output schema, the description provides a solid overview. It mentions the AP2 artifact with execution_hash, the requirement for synthetic inputs, and the offline-verifiable receipt. It does not explain the actual decision logic of the operator exit check, but that is not necessary for invoking the tool. The description is comprehensive enough for an agent to understand how to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds value by explaining how the 'compute' parameter behaves across modes (e.g., 'auto' defaults to server for gpu:false nodes with a registered kernel) and that 'policy_parameters' are processed server-side in certain modes, with a pointer to the manifest for field names. This contextualizes the parameters beyond the schema's enum and description, especially clarifying the nested object's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a deterministic OpenChainGraph compute node for 'Operator Exit & Data Portability', effectively conveying its role. It distinguishes itself from sibling tools by being the only one focused on operator exit portability, and it names concrete behaviors (compute modes, artifact export) that are unique to this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes ('auto', 'server', 'browser') and when server-side vs browser delegation happens, but it never states when to use this tool over alternative tools or when not to use it. It also does not mention any prerequisites or exclusions, leaving the agent to infer usage from the domain context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_private_student_loan_disclosuresPrivate Student Loan Disclosure & Rescission CheckerARead-onlyIdempotentInspect
Private Student Loan Disclosure & Rescission Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-405-check-private-student-loan-disclosures.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: it explicitly states inputs are processed transiently and not stored/logged/retained, that compute modes affect execution location (server-side on Cloudflare Workers vs browser delegation), that gpu:true nodes always delegate, and that it exports an AP2 artifact with execution_hash. This is genuinely useful behavioral transparency about data handling and execution semantics. The FV-status receipt explanation also adds context about verification. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but information-rich. It front-loads the purpose and key behavioral traits (deterministic, compute modes, transient processing). Every sentence adds something: compute semantics, data handling, artifact export, verification URL. It's longer than ideal but each clause serves a function. No redundancy with the schema (compute modes are repeated from enum but that's arguably necessary context). The structure is somewhat list-like but organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 params, nested object, compute modes, chain-provenance artifact), the description is fairly complete. It covers execution semantics, data handling, artifact export, and verification. What's missing: the 'policy_parameters' nested object fields are undocumented (deferred to manifest), which is a real gap for an agent trying to invoke this correctly. Also, no output schema exists, so the description could have described the return values (AP2 artifact structure), but it does at least mention the artifact with execution_hash. The description does enough to let an agent call it with appropriate caution, but the policy_parameters gap is notable. No return-format details are given, but that might be acceptable given the artifact is AP2.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters including compute modes, parent_hashes, parent_tool_ids, and policy_parameters. The description does not add much beyond the schema: it re-explains compute modes slightly (matching schema) and mentions 'policy_parameters' as 'input parameters for this tool's decision function' but defers to 'the tool's manifest for field names.' The description does not add syntax or format details beyond schema. The nested policy_parameters object's internal fields are undocumented in both schema and description (deferred to manifest), which is a gap the description could have addressed but doesn't. Baseline 3 is appropriate since schema does the heavy lifting, but the description could have compensated for the policy_parameters gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource ('Check private student loan disclosures and rescission') and identifies itself as an 'OpenChainGraph compute node (compliance_mandate)'. The title and first line make the purpose unambiguous. However, it does not differentiate from sibling tools like check_retail_installment_disclosures or check_reg_e_remittance_disclosure, though those are in a different domain. The name itself is quite specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when they apply, which serves as usage guidance for the compute parameter. It also notes that inputs are processed transiently and to use synthetic/anonymised inputs only. However, it does not explicitly state when to use this tool versus the many sibling disclosure-checking tools (e.g., check_reg_e_remittance_disclosure, check_retail_installment_disclosures). It mentions 'Use synthetic or anonymised inputs only' which is a data handling guideline, not a when-to-use guideline. The guidance about compute modes is usage-related but not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_producer_license_reciprocityNAIC Producer License Reciprocity CheckCRead-onlyIdempotentInspect
NAIC Producer License Reciprocity Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-267-check-producer-license-reciprocity.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true, idempotentHint=true, and destructiveHint=false, the description adds genuinely useful behavior beyond them: deterministic execution, inputs processed transiently and 'not stored, logged, or retained', AP2 artifact export with execution_hash, and detailed compute-mode/browser-delegation semantics. The compute-mode explanation is actionable and specific. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive — 'OpenChainGraph compute node' appears twice in the first line, and the closing URL plus FV-status receipt blurb add a large block that is tangential to agent selection. It front-loads infrastructure labels over the domain function and reads as a dense technical dump rather than a scannable tool contract.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers compute/provenance mechanics but is silent on the core domain semantics: what decision function runs, what fields policy_parameters requires (deferred to an external manifest), and — with no output schema present — what the returned artifact actually contains or means for a reciprocity outcome. For a compliance-decision tool with a nested object parameter and no output schema, this is a significant completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description reinforces the compute-mode default behavior but adds little beyond the schema; policy_parameters is deferred to 'See the tool's manifest for field names,' which is a gap. Baseline 3 is appropriate since the schema carries the load, with minor added value on compute semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeatedly labels the tool an 'OpenChainGraph compute node' and 'compliance_mandate' but never states what license reciprocity checking actually decides — it buries the domain function under infrastructure mechanics (compute modes, gpu flags, browser delegation). The verb and title ('NAIC Producer License Reciprocity Check') imply the purpose, but the text doesn't connect the name to any concrete decision or output meaning, and it does nothing to distinguish this from siblings like check_license_compatibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is 'Use synthetic or anonymised inputs only' — a data-handling constraint, not a when-to-use directive. There is no mention of when reciprocity checking applies, what regulatory scenario triggers it, or when to prefer a sibling tool (check_license_compatibility, certify_license_election). An agent gets no routing help from this field.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_purpose_code_requirementISO 20022 Purpose Code Requirement CheckerBRead-onlyIdempotentInspect
ISO 20022 Purpose Code Requirement Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-247-prevalidation-readiness-scorer. Open at: https://ainumbers.co/chaingraph/art-243-purpose-code-requirement-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnly/idempotent/destructive annotations: it states the tool is deterministic, inputs are transiently processed and not stored/logged/retained, and it explains server-side versus browser delegation behavior. Also mentions AP2 artifact export with execution_hash provenance, which helps the agent understand side effects despite the readOnly hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and verbose; 'OpenChainGraph compute node' appears twice in adjacent sentences, and several parts are metadata (URLs, FV-status JSON path, downstream artifact feeds) that add bulk without tightly helping an agent invoke the tool. The key title is front-loaded, but the rest of the text is not a compactly prioritized briefing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description never specifies what the response structure looks like, nor does it define the fields expected for policy_parameters despite referring to a manifest that is not included. The agent cannot reliably construct a valid request or parse a meaningful response from the provided context, even though provenance behavior is detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters already have descriptions that explain compute, parent_hashes, parent_tool_ids, and policy_parameters. The description echoes only the compute:auto default already covered in the schema, and defers policy_parameters fields to an external manifest without adding useful detail. With full schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening sentence clearly describe the tool as an 'ISO 20022 Purpose Code Requirement Checker' and an OpenChainGraph compute node with a compliance mandate, giving the agent a specific verb (check) and resource (purpose code requirement). It is not a tautology and the purpose is distinct enough, though it does not explicitly distinguish itself from nearby siblings such as check_iso20022_pqc_readiness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a privacy constraint ('Use synthetic or anonymised inputs only') but provides no guidance on when to choose this tool over an alternative or when not to use it. With dozens of sibling compliance/check tools listed, the absence of routing guidance leaves the agent to decide without contextual help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_qm_points_and_feesQM Points and Fees TestBRead-onlyIdempotentInspect
QM Points and Fees Test: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-219-qm-apr-apor-spread. Open at: https://ainumbers.co/chaingraph/art-218-qm-points-and-fees.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable context: inputs are transiently processed and not retained, compute modes affect execution location, and it details the export of an AP2 artifact with execution_hash for provenance. It also explains the FV-status snapshot nature. This goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous details such as URLs, FV-status hash, and verbose compute mode explanations. It is not front-loaded; the core purpose is buried among technical specifics. While information-rich, it could be substantially condensed without losing essential guidance. The length hurts usability for an agent scanning for key facts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, nested objects, and no output schema, the description leaves critical gaps. It does not specify the structure of policy_parameters (field names are only referenced in a manifest), nor does it explain what the decision function computes in practical terms. The mention of output feeding art-219-qm-apr-apor-spread helps, but the absence of parameter details and output format makes the tool incomplete for an agent to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter documented in the schema. The description does not add meaningful semantic detail beyond the schema; it essentially repeats the compute mode explanation. Since the schema fully covers the parameters, baseline 3 applies. No additional clarifications are provided for policy_parameters field names, which the schema itself defers to a manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a 'QM Points and Fees Test' and an 'OpenChainGraph compute node' with a specific purpose. It conveys the resource and action (computing a test), though it uses technical jargon without explaining what 'QM points and fees' means. It does not explicitly differentiate from sibling tools, but the unique name and context make the purpose reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides constraints like 'Use synthetic or anonymised inputs only' and explains compute mode selection, but it does not indicate when to use this tool versus alternatives (siblings like check_conforming_loan_limit or other QM-related tools). No exclusions or alternative references are given, leaving the agent to infer applicability 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.
check_reg_e_remittance_disclosureReg E Remittance Disclosure Consistency CheckCRead-onlyIdempotentInspect
Reg E Remittance Disclosure Consistency Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-550-reg-e-remittance-disclosure-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds valuable behavioral context: the node is deterministic, inputs are processed transiently and not stored or retained, gpu:true nodes delegate to the browser, and an AP2 artifact with an execution_hash is produced for provenance. The FV-status snapshot and offline-verifiability note also go beyond the bare read-only/idempotent hints, although the delivery is somewhat boilerplate-heavy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer then it needs be and repeats 'OpenChainGraph compute node' and 'deterministic' almost in immediate succession. Generic infrastructure details, a user-facing URL, and FV-status receipt information are packed in instead of a focused explanation of the check. Important details are present, but the ordering and redundancy reduce readability and usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though annotations and the schema are present, the description lacks the substantive reg-e remittance consistency semantics needed to call the tool correctly: no expected policy_parameters fields, no explanation of what constitutes a passed or failed consistency check, and no description of the artifacts returned beyond an execution_hash. With no output schema, this leaves a significant understanding gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains compute, parent_hashes, parent_tool_ids, and policy_parameters. The description does not add much parameter-level meaning, especially for policy_parameters, where the schema itself defers to 'the tool's manifest for field names.' Given full schema coverage, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first label identify it as a Reg E remittance disclosure consistency check, but the description never states what is checked, what it is compared against, or what constitutes a consistent result. It repeatedly describes the OpenChainGraph compute-node infrastructure rather than the actual remittance-disclosure behavior, so the agent is left relying on the name rather than a functional specification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful operational guidance about compute modes and says to use synthetic or anonymized inputs only, but it never says when to use this tool instead of a sibling like compute_remittance_disclosure or other check_* tools. There is also no stated prerequisite, domain condition, or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_retail_installment_disclosuresRetail Installment Contract TILA Disclosure CheckerARead-onlyIdempotentInspect
Retail Installment Contract TILA Disclosure Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-332-build-amortization-schedule, art-324-tvm-npv. Open at: https://ainumbers.co/chaingraph/art-404-check-retail-installment-disclosures.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Outstanding disclosure that goes far beyond the annotations: deterministic execution, transient processing on Cloudflare Workers, explicit non-retention guarantees, AP2 artifact export with execution_hash, and an FV-status verification mechanism. The description states inputs are 'not stored, logged, or retained,' which substantively enriches the readOnlyHint=true and idempotentHint=true annotations with implementation specifics. It also surfaces an important constraint that would otherwise be opaque: 'Use synthetic or anonymised inputs only.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
What appears to be five distinct concerns (purpose, compute semantics, data handling, artifact I/O, verifiability) are welded into one dense run-on paragraph with em-dash and parenthesis-laden asides. The compute-mode explanation sits awkwardly inside parentheses in the middle of a sentence, and the FV-status receipt info lands as an abrupt tail. High-information density does not excuse the lack of editorial structure — bullets or sentence boundaries would triple readability at zero information cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and 4 parameters, the description manages the complexity well: it covers execution model, data privacy contract, chain provenance (parent_hashes), artifact export, and verification. The one notable gap: the actual compliance logic it checks (what makes a TILA disclosure pass or fail) is never addressed. Minor deduction; the compute and economics are fully contextualized even if the domain logic remains a black box.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 schema already documents all parameters. The description adds genuine value on the 'compute' parameter's server-vs-browser semantics but is evasive on policy_parameters, punting with 'See the tool's manifest for field names.' This is a notable gap for a tool whose core decision function is presumably driven by those fields. Net: adequate but not additive beyond what the schema already exposes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: it checks TILA disclosures for retail installment contracts, flagged as a compliance_mandate OpenChainGraph compute node. The purpose is unmistakably clear. However, it doesn't explicitly differentiate itself from similarly-named siblings like check_private_student_loan_disclosures or check_reg_e_remittance_disclosure, leaving the agent to infer the differentiator is the retail installment contract regulation domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong usage context: when to use compute:"browser" vs compute:"auto"/"server", the requirement for synthetic/anonymised inputs, and the upstream artifact dependencies (art-332-build-amortization-schedule, art-324-tvm-npv) that must exist first. This clarity around preconditions is genuinely useful guidance. It never explicitly names an alternative tool though, so the agent must infer from domain tags when this tool (vs. other disclosure checkers) applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_safeguarding_reconciliationCASS 15 Safeguarding Reconciliation CheckBRead-onlyIdempotentInspect
CASS 15 Safeguarding Reconciliation Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-499-check-safeguarding-reconciliation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnlyHint, idempotentHint, destructiveHint) are supplemented with non-trivial behavioral context: inputs are processed transiently and are not stored, logged, or retained; the tool is deterministic (consistent with idempotentHint); the result chains provenance via an execution_hash and a snapshot receipt. These details go beyond what the annotations alone convey and mainly reassure the agent about side-effect safety. The only slight gap is that the actual decision function and return value shape are not described, but the safety profile is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense with platform infrastructure (Cloudflare Workers, quant with kernel, browser delegation URLs, registry URLs, simple artifacts) that applies broadly across this tool family rather than to this specific reconciliation. It front-loads a reasonable first sentence, but then descends into noisy infrastructure details and many index-like codes and links. Several sentences are repetitive with each other and with the schema, so the description's overall structure does not earn all of its lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the check actually produces and how to interpret it, but it only mentions an AP2 artifact with an execution_hash and generic ChainLP provenance. It does not describe the reconciliation input semantics, what a non-reconciled would look like, what parameters inside policy_parameters do, or what a typical call/response flow is. The runtime details (compute modes, delegation) are covered in depth while the actual decision logic is left largely unstated, leaving the agent under-equipped despite the verbose prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters at 100% coverage, including the compute enum and the meaning of parent_hashes, parent_tool_ids, and policy_parameters. The description adds little of that: it reiterates the compute modes and mentions 'execution_hash' provenance that traces back to parent_hashes, but it adds only marginal semantics (e.g., rule algorithm of policy_parameters is directed to an external manifest). Baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first line state a specific verb-noun pair: a CASS 15 Safeguarding Reconciliation Check, framing the tool as a deterministic compliance compute node for that reconciliation. The CASS 15 qualifier narrows the domain and distinguishes it from generic reconciliation siblings in the catalogue, though the description never explicitly contrasts it with tools like check_iolta_three_way_reconciliation or attest_daily_reconciliation, so distinctiveness relies mostly on the regulation name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over the hundreds of sibling tools—no matching of CASS 15 scenarios, no 'use when X instead of Y', no exclusions. The only usage-like advice concerns infrastructure (compute modes, browser delegation) and a note to use synthetic or anonymized inputs, which is a privacy constraint rather than a task-selection guideline. An agent cannot tell from the description when a safeguarding reconciliation under CASS 15 versus a different reconciliation, audit, or attestation tool is the correct call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_sb53_frontier_scopeSB 53 Frontier Scope CheckerARead-onlyIdempotentInspect
SB 53 Frontier Scope Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-316-sb53-frontier-scope-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false). It discloses transient input processing (not stored/logged/retained), synthetic input requirement, browser delegation behavior for gpu nodes, and the FV-status snapshot semantics. It also clarifies the deterministic nature and the export artifact with execution_hash for provenance. No contradiction with annotations; description is highly transparent about behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and long, covering many aspects (compute modes, non-retention, synthetic data, artifact export, FV-status URL, hash, snapshot semantics). It front-loads the compute node role and compliance mandate but then presents several distinct facts with varying relevance. Some details seem tangential (exact URL for the artifact and FV-status hash) that could be omitted from the tool description for conciseness, though they might be valuable for chain provenance. The structure is logical but could be tightened by separating core behavior from provenance details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, side effects (non-retention, synthetic data requirement), the export artifact, and FV-status verification details. It lacks explicit output schema but denotes the export artifact with execution_hash. Since there's no output schema, the description does a reasonable job explaining what to expect. However, it references 'the tool's manifest' for policy_parameters fields, which is an external dependency that could be incomplete for the agent. Overall, quite complete given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters are described in the schema already. The description adds context about compute='auto' server-side computation and browser delegation URL for 'browser' mode, matching the schema's enum description. For parent_hashes and parent_tool_ids, the description mentions 'chain parent_hashes in the export', but doesn't add much beyond the schema. Policy_parameters is described as 'the tool's decision function' inputs but defers to the manifest for field names, which is a partial gap. Overall, description contributes marginal value beyond schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the tool checks SB 53 Frontier Scope and identifies it as an OpenChainGraph compute node. Describes compute mode behaviors, but doesn't explicitly distinguish from sibling tools like check_* functions (e.g., check_ssi_conformance, check_webbotauth_nonce_replay) beyond the SB 53 Frontier scope specificity. The 'compute node' framing with compliance_mandate and FV-status link provides context, though it's dense. Purpose is clear: a deterministic compute node for scope checking with configurable compute modes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains compute mode selection (auto/server/browser) and when browser delegation occurs, especially for gpu:true nodes. However, it does not explicitly state when to use this tool versus alternative check tools or sibling compute nodes. It implies usage through the FV-status and ChainGraph context, but lacks explicit exclusion guidance ('use X instead for Y'). The description is context-rich for compute behavior but weak on tool-vs-tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_screening_list_coverageScreening List-Coverage CheckerARead-onlyIdempotentInspect
Screening List-Coverage Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-90-sanctions-screening-fit-diagnostic, art-91-ownership-50pct-aggregator. Output feeds: art-97-sanctions-screening-quality-scorer, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-92-screening-list-coverage-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description goes beyond this by stating inputs are processed transiently and not stored ('not stored, logged, or retained') and that inputs should be synthetic or anonymized. It also explains the compute mode behavior (server vs browser delegation) for different kernel types, adding valuable behavioral context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with critical information (deterministic, compute modes, data handling). However, it becomes chatty with the long FV-status URL and provenance details that may not be essential for invoking the tool. Each sentence earns its place for chain-provenance, but the length risks diluting the key operational points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node in a chain, the description covers the essential operational aspects: compute modes, data transientness, input expectations, and chain links. The absence of an output schema is compensated by mentioning the execution_hash and artifact export. Remaining gap is the exact policy parameter names, which are deferred to a manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description adds operational context about how policy_parameters are computed server-side when compute is 'auto' or 'server', which supplements the schema. However, it doesn't define what the actual policy parameters are, pointing to the manifest instead, which leaves a gap for agents needing to construct inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly indicate this is a compute node for checking screening list coverage as part of a compliance mandate. The description identifies its role in the OpenChainGraph pipeline, lists upstream and downstream artifacts, and provides a link. This distinguishes it from general screening tools like run_sanctions_screening_fit, though the core function is stated more by context than a crisp verb phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when browser delegation occurs, which is useful operational guidance. However, it doesn't explicitly state when to use this tool versus alternatives like check_screening... (which doesn't exist in siblings) or run_sanctions_screening_fit. The context of being a deterministic OpenChainGraph node implies usage in a chain, but this 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.
check_securitization_risk_retentionSecuritization Risk Retention CheckARead-onlyIdempotentInspect
Securitization Risk Retention Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-447-securitization-risk-retention-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description extensively discloses behavioral traits beyond the annotations: it is deterministic, explains compute modes (auto/server/browser), states inputs are processed transiently and not stored/logged/retained, mentions the AP2 artifact export with execution_hash for chain provenance, and provides a URL and FV-status link. No contradiction with annotations (readOnlyHint, idempotentHint, etc.) is present. This is a model of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is ~250 words and dense with technical details (compute modes, data retention, artifact, FV-status). It front-loads the purpose and includes operational details, but it is verbose and could be tightened by moving less-critical boilerplate (e.g., FV-status explanation) to a secondary section. Structure is adequate but not optimally concise; every sentence carries information, but efficiency is moderate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, artifact export, provenance) and the absence of an output schema, the description covers most runtime behavior: compute execution contexts, data retention, artifact generation, and a verification link. However, it does not describe the actual return payload (e.g., whether the tool returns a boolean, a risk assessment, or just the artifact). This gap is significant for an agent that needs to interpret the result, though the artifact export likely implies the response contains the execution_hash and possibly computed values. Overall, it is nearly complete but lacks explicit output semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage—every parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) has a description. The description's text adds little beyond what the schema already states; for example, it references the manifest for policy_parameters field names. The description does not introduce new meaning or clarify parameter usage beyond the schema, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: a compliance check for securitization risk retention, within an OpenChainGraph compute node context. However, it does not explicitly differentiate this from the many sibling 'check_*' tools (e.g., check_conforming_loan_limit, check_credit_concentration_topn_sector), leaving the agent to infer uniqueness from the specific resource name. The verb 'check' and resource are present, but sibling differentiation is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context: it is a compliance_mandate compute node, suggests using synthetic or anonymised inputs, and mentions compute modes. It also notes that gpu:true nodes always delegate to the browser. However, it does not specify when to choose this tool over alternative checks or provide exclusions (e.g., 'if you need X, use Y instead'). There is no guidance on selecting among sibling tools, so the agent must rely on the resource name to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_sod_matrixSegregation-of-Duties Matrix CheckerARead-onlyIdempotentInspect
Segregation-of-Duties Matrix Checker: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-459-sod-matrix-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, compute modes affect execution location, and it exports an AP2 artifact with execution_hash. It also mentions FV-status verification. This goes beyond annotations and provides meaningful behavioral detail about data handling and execution semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long and dense, mixing operational details (compute modes), data handling guarantees, artifact export, and verification links. It front-loads the tool identity but then dives into technical specifics that may not be essential for an agent deciding to call it. Some content (URLs, FV-status details) could be trimmed or moved to a more appropriate place. It's structured but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, transient processing, artifact export, verification), the description covers the key operational aspects. It explains what happens with inputs, how compute is handled, and what the output artifact is. It doesn't have an output schema, so the description's mention of AP2 artifact and execution_hash helps. It could be more explicit about what the SoD check result looks like, but overall it's fairly complete for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters well. The description adds some context about policy_parameters being computed server-side and references the tool's manifest for field names, but doesn't add much beyond the schema. The compute parameter is well-explained in both schema and description. Baseline 3 is appropriate since schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Segregation-of-Duties Matrix Checker and an OpenChainGraph compute node for compliance control. It states the tool checks a SoD matrix, which is a specific compliance function. However, it doesn't explicitly distinguish it from the many other check_* tools in the sibling list, though the name itself is fairly specific. The description focuses more on compute mechanics than on what the SoD check actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when each is used, which is useful operational guidance. It also mentions using synthetic or anonymised inputs only, which is a usage constraint. However, it doesn't explicitly state when to use this tool versus alternatives, or what scenarios call for a SoD matrix check. The guidance is about how to run it, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ssi_conformanceSSI Conformance CheckerARead-onlyIdempotentInspect
SSI Conformance Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-77-t1-settlement-readiness-diagnostic. Output feeds: art-79-settlement-fail-predictor, art-84-settlement-efficiency-kpi. Open at: https://ainumbers.co/chaingraph/art-80-ssi-conformance-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring read-only, non-destructive, and idempotent behavior, the description adds meaningful value by disclosing deterministic execution, transient processing with no retention, and the AP2 artifact export with execution_hash for chain provenance. The explicit privacy statement ('not stored, logged, or retained') and the FV-status snapshot metadata go well beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and every clause earns its place—there is zero filler. However, the single-block format buries key facts under layers of jargon, and the URL and FV-status receipt trail on at the end as an afterthought. Better structure, such as bullet points or paragraph breaks, could make the same content significantly scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool embedded in a chain, the description covers everything an agent needs: compute semantics, data handling, upstream and downstream artifact dependencies, an access URL, and a link to external verification data. Since no output schema exists, the description's mention of the execution_hash output is adequate for building provenance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, all four parameters are already documented with meanings and types. The description reinforces the compute default and the chain of execution_hash inputs, but the schema carries most of the semantic load. The reference to 'see the tool's manifest' for policy_parameters shifts some documentation burden away from both the description and the schema, justifying the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description stakes out a clear identity: a deterministic OpenChainGraph compute node for SSI conformance, distinguishing it from general-purpose linters and validators in the sibling list. The phrase '(compliance_mandate)' signals when it should be invoked as part of a compliance pipeline. However, it opens nearly identically to the tool name and relies heavily on domain jargon without explicitly naming a sibling to disambiguate from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute parameter's behavior well, including when server-side versus browser-side execution occurs, which implicitly covers when an agent would call this with different settings. It also places the tool in context by naming upstream and downstream artifacts in a chain. However, it does not explicitly say 'use this instead of X' or state conditions under which this tool is the wrong choice, leaving the decision to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_tokenized_collateral_eligibilityTokenized Collateral Eligibility CheckerCRead-onlyIdempotentInspect
Tokenized Collateral Eligibility Checker: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: 506-onchain-cash-leg-finality-checker, 513-margin-call-collateral-mobilizer, 514-tokenized-fund-collateral-validator. Open at: https://ainumbers.co/tools/505-tokenized-collateral-eligibility-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hqla_tier | No | |
| dtc_status | No | |
| mandate_type | No | |
| adjusted_value | No | |
| compliance_flags | No | |
| final_haircut_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful details: inputs are transiently processed and not stored, and a browser delegation URL is returned for browser execution. It does not contradict annotations and provides some context beyond the hints, but it lacks clarity on what the 'eligibility' computation entails or the exact behavior of the decision function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and repetitive. The phrase 'Deterministic OpenChainGraph compute node' appears twice, and the sentence about transient processing and synthetic inputs is likely boilerplate. The FV-status URL and the procedure for verifying offline are tangential to tool usage. Critical info (what eligibility checks) is buried under a wall of operational details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with an output schema present, the description does not explain what the eligibility decision is or what policy_parameters are needed. It mentions 'See the tool's manifest for field names' for policy_parameters, but doesn't enumerate any. The tool is complex (4 params, nested object) and the description doesn't sufficiently orient an agent on what constitutes valid input or what the output will be.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds value by clarifying that policy_parameters are computed server-side and that parent_hashes are for chaining execution_hash values, which is not fully obvious from the plain schema text. It raises the baseline from 3 to 4 by explaining the 'auto' compute default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool checks tokenized collateral eligibility and identifies it as an OpenChainGraph compute node, but the primary purpose of checking eligibility is obscured by extensive details about compute modes, transient processing, AP2 artifacts, and output feeds. The verb 'check' and resource 'tokenized collateral eligibility' are clear, but the description is cluttered with implementation specifics that dilute the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions output feeds (506-onchain-cash-leg-finality-checker, etc.) but doesn't explicitly state when to use this tool instead of siblings like validate_collateral_swap_eligibility, validate_fund_collateral, or compute_stock_token_collateral_haircut. There's no guidance on preconditions or typical scenarios, leaving the agent to infer usage from the name and proximity of siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_webbotauth_nonce_replayWeb Bot Auth Nonce & Replay-Window CheckerARead-onlyIdempotentInspect
Web Bot Auth Nonce & Replay-Window Checker: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-130-signature-directory-validator. Open at: https://ainumbers.co/chaingraph/art-593-webbotauth-nonce-replay-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| fresh | No | |
| verdict | No | |
| format_ok | No | |
| spread_ok | No | |
| nonce_valid | No | |
| already_used | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are processed transiently and not stored or logged, outputs are exported as AP2 artifacts with execution_hash, compute modes affect where processing occurs, and gpu:true nodes always delegate to the browser. This significantly enhances understanding of side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and includes extraneous details such as the URL and FV-status link, which are not essential for calling the tool. It repeats 'compute node' and spends significant space on compute modes that could be more succinct. The core purpose is front-loaded, but the overall verbosity detracts from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute behavior, data handling, output artifact, and provenance, which is good for a complex tool. However, it does not detail the expected policy_parameters fields, relying on a manifest reference, and lacks explicit prerequisites or expected input formats for the nonce check itself. Given the output schema exists, this is acceptable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters, but the description adds meaningful context about compute modes and how policy_parameters are computed server-side under certain conditions. It also clarifies that inputs are processed transiently, which aids in using the policy_parameters correctly. This goes beyond simple parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Web Bot Auth Nonce & Replay-Window Checker' and a deterministic OpenChainGraph compute node, making its purpose evident. It does not explicitly distinguish it from similar siblings like check_x402_domain_nonce_window, but the name and title provide sufficient specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does mention 'Use synthetic or anonymised inputs only' and explains compute modes, but these are operational constraints rather than usage context. No alternatives are named or exclusions given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_x402_domain_nonce_windowx402 Domain & Nonce Window CheckerBRead-onlyIdempotentInspect
x402 Domain & Nonce Window Checker: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-592-x402-domain-nonce-window-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| nonce | No | |
| window | No | |
| reasons | No | |
| verdict | No | |
| expected | No | |
| disclosure | No | |
| signed_domain | No | |
| nonce_well_formed | No | |
| domain_chain_match | No | |
| nonce_already_used | No | |
| authorization_expired | No | |
| domain_contract_match | No | |
| authorization_not_yet_valid | No | |
| authorization_within_window | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description goes well beyond by stating inputs are 'processed transiently' and 'not stored, logged, or retained,' explaining compute modes (server vs. browser delegation), and disclosing that an 'AP2 artifact with execution_hash' is exported. It also provides an FV-status link and clarifies snapshot semantics, offering substantial behavioral context an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, run-on paragraph that mixes purpose, compute modes, data-handling guarantees, and external links (a URL and a hash) without clear separation. Phrases like 'OpenChainGraph compute node' are repeated, and the FV-status explanation is verbose. Front-loading and brevity are lacking, making it harder for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and fully described parameters, the description does not need to explain return values or parameter types, and it adds valuable behavioral context (transient processing, browser delegation, AP2 artifact). However, it omits a plain-language description of the 'nonce window' semantics and does not mention typical use cases or examples. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is already met, but the description adds extra meaning by explaining the 'compute' enum values in the context of gpu:true/false nodes and noting that policy_parameters are computed server-side under certain conditions. This enriches the schema without redundancy, though parent_hashes and parent_tool_ids are not further clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Checker' for 'x402 Domain & Nonce Window' and labels it a 'compliance_control' node, but the exact operation (what is checked, what the response contains) is implied rather than stated. It does not differentiate from siblings like 'check_webbotauth_nonce_replay' or 'validate_x402_*' beyond the name. It is more than a tautology but lacks a crisp, non-repetitive definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is 'Use synthetic or anonymised inputs only' and the compute-mode explanations ('auto', 'server', 'browser'). There is no discussion of when to choose this tool over alternatives (e.g., other x402 or nonce-related tools), no exclusions, and no mention of prerequisites. The compute-mode notes are behavior, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
choose_cc_licenseCreative Commons License ChooserBRead-onlyIdempotentInspect
Creative Commons License Chooser: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-195-creative-commons-license-chooser.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses determinism, server-side vs browser execution, transient non-retention of inputs, synthetic-input requirement, AP2 artifact export with execution_hash, and FV-status verification semantics. This is rich, non-contradictory behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and contains redundancy, notably 'OpenChainGraph compute node' appearing twice, plus URL and FV-status boilerplate. The core purpose is not front-loaded and the operational/provenance details crowd out a crisp one-line statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Execution and provenance behavior are thoroughly covered, but there is no output schema and the description never says what the license-choice result looks like beyond 'AP2 artifact with execution_hash.' The most important inputs for choosing a CC license, the policy_parameters fields, are explicitly deferred to an external manifest, leaving the agent unable to construct a valid call from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 repeats compute-mode behavior already in the schema but adds no new meaning for parent_hashes, parent_tool_ids, or policy_parameters. The policy_parameters object remains opaque, deferring to 'the tool's manifest.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name identify it as a Creative Commons license chooser, and the description calls it a 'decision function,' but it never states in a direct verb phrase what selecting the tool accomplishes (e.g., 'chooses a CC license and returns an AP2 artifact'). It also does not differentiate itself from sibling license tools like select_cbe_license or select_embedded_license.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful operational instructions such as using synthetic or anonymised inputs and explains when compute:'browser' delegates, but it never says when to choose this tool over alternatives. With multiple license-selection siblings in the catalog, the absence of when-to-use/alternative guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_agentic_ai_riskAgentic AI Risk & GPAI Governance ClassifierBRead-onlyIdempotentInspect
Agentic AI Risk & GPAI Governance Classifier: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-64-ai-act-highrisk-fit-diagnostic. Output feeds: art-04-agent-identity-attestation-checker, art-33-mcp-server-self-attestation-pack, art-62-ap2-payment-receipt-verifier. Open at: https://ainumbers.co/chaingraph/art-67-agentic-ai-risk-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations (readOnlyHint, idempotentHint, destructiveHint) by disclosing that inputs 'are processed transiently to compute the response and are not stored, logged, or retained' and explicitly directing 'Use synthetic or anonymised inputs only.' It also states deterministic behavior and delegation behavior for gpu:true nodes—features not covered by the annotations or schema. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a large block of text (several sentences) that buries the actual classification purpose in operational details. It includes non-essential elements like the exact URL and a JSON hash for FV-status, which are noise for a selection task. The core purpose is entangled with compute-infrastructure and provenance rambling, and it lacks is a clear front-loaded summary of what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description is responsible for clarifying the output, but only says it 'Exports an AP2 artifact with execution_hash' and consumes/produces listed artifacts. It does cover the main compute modes and data handling rules, which help the caller make calls. However, it omits what the classifier actually produces as output content (e.g., category names or score), so for a decision classification the coverage is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the description is not responsible for basic semantics. It does add minimal context by repeating that policy_parameters are processed server-side for gpu:false nodes when compute is 'auto'/'server', but that is essentially restating the schema's compute description. It doesn't add new meaning around fields or validation beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first line state the verb 'classify' and the resource 'Agentic AI Risk & GPAI Governance'. It distinguishes itself by naming its upstream and downstream artifacts (feeds art-04, art-33, art-62), which hints at its role in an agentic AI governance chain, differentiating from sibling classifiers. However, it never explicitly states what categories or results the classification produces, so it's not fully precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use or when-not-to-use guidance versus any of the many classify_* siblings. It provides operational context about compute modes ('auto' vs 'browser' vs gpu:true) and data-handling rules, but those are about execution environment, not about selecting this tool for a task. The dependency chain is mentioned but doesn't tell the caller which conditions favor this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_ai_system_governanceAI System Governance ClassifierCRead-onlyIdempotentInspect
AI System Governance Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-172-ai-risk-impact-assessment-validator. Open at: https://ainumbers.co/chaingraph/art-173-ai-system-governance-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a useful note about transient processing and non-retention of inputs, which goes beyond the annotations. It also clarifies compute delegation behavior, but the annotations already cover read-only and idempotent semantics; no contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating compute mode explanations and chain-related terminology multiple times. It reads like a generic template, with superfluous phrases that do not aid comprehension and could be streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the compute and chaining infrastructure but omits the tool's actual role in AI system governance classification. It does not describe expected outputs or the significance of policy_parameters, leaving a significant gap for an agent trying to understand the tool's real function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents all four parameters, including compute mode behavior and parent hashing details. The description merely restates these in prose without adding significant new insight, so it does not elevate beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as an 'AI System Governance Classifier' but does not specify what it actually classifies or how it differs from other classify_* tools. It focuses on compute binding and chaining mechanics rather than the core decision function, leaving the purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus any of the many sibling classification tools. It mentions compute modes but not the domain context or criteria for selecting this classifier over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_annex3_decisioning_obligationsEU AI Act Annex III FS Decisioning Obligations ClassifierARead-onlyIdempotentInspect
EU AI Act Annex III FS Decisioning Obligations Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-64-ai-act-highrisk-fit-diagnostic. Open at: https://ainumbers.co/chaingraph/art-238-classify-annex3-decisioning-obligations.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and the description adds valuable context: inputs are processed transiently and not stored/logged/retained, compute modes affect execution location, and it exports an AP2 artifact with execution_hash. This goes beyond annotations by explaining data handling and execution semantics. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but somewhat sprawling, mixing core purpose with technical details like FV-status URLs and OpenChainGraph specifics. It front-loads the purpose but then includes a long tail of provenance and verification details that could be trimmed or moved. Every sentence adds some value, but the structure could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested objects, compute modes, chain provenance), the description covers many aspects but leaves gaps: the policy_parameters fields are not described, the output format is not specified (no output schema), and the relationship to the upstream artifact is mentioned but not explained. An agent would need additional context to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about policy_parameters being computed server-side and the compute modes, but does not explain the actual fields within policy_parameters (referring to 'the tool's manifest' instead). For a nested object parameter, this is a gap—the agent must look elsewhere for field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state this is a classifier for EU AI Act Annex III FS Decisioning Obligations, operating as an OpenChainGraph compute node. It distinguishes itself from siblings by specifying the compliance_mandate and the upstream artifact it consumes. However, the description is dense with technical jargon (OpenChainGraph, AP2 artifact, FV-status) that may obscure the core purpose for an agent unfamiliar with the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and when browser delegation occurs, and mentions consuming upstream artifacts from a specific source. It does not explicitly state when to use this tool versus alternatives like classify_ai_system_governance or run_ai_act_highrisk_fit, nor does it provide exclusions. The usage context is implied through the compliance_mandate and upstream artifact reference, but not clearly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_avax_permissioning_controlsEvergreen Permissioning-Control ClassifierBRead-onlyIdempotentInspect
Evergreen Permissioning-Control Classifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-495-avax-permissioning-control-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are processed transiently and not stored, logged, or retained, warns to use synthetic or anonymised inputs, and explains compute modes including browser delegation. It also mentions the AP2 artifact with execution_hash for provenance, aligning with readOnlyHint and idempotentHint. These disclosures go beyond the annotations and do not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous elements such as the URL and FV-status receipt, which are not essential for tool selection. It front-loads the purpose but then diverges into compute details and external references, making it longer than necessary without a clear structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not specify the output format of the classification, only that it exports an AP2 artifact. It does not explain how to construct policy_parameters or how parent_hashes are used. With no output schema, the lack of detail about the return value leaves an agent uncertain about what the tool provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all parameters with 100% coverage. The description repeats compute mode behavior already in the schema but adds no new meaning for parent_hashes, parent_tool_ids, or policy_parameters. It merely points to the manifest for policy_parameters, which does not enrich the agent's understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for permissioning-control classification, which is specific and indicates a classifier for AVAX permissioning controls. However, it does not explicitly state what the decision function outputs or name sibling tools to establish differentiation, so the purpose is clear but not fully distinguished from similar classifiers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative classifiers or other tools. It discusses compute modes but does not mention alternatives, conditions, or use cases, leaving the agent to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_blockchain_quantum_riskBlockchain / Stablecoin Quantum-Risk ClassifierARead-onlyIdempotentInspect
Blockchain / Stablecoin Quantum-Risk Classifier: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-85-pqc-timeline-fit-diagnostic, 499-crypto-asset-inventory-classifier. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-89-blockchain-quantum-risk-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides rich behavioral detail beyond the annotations: it is deterministic, processes inputs transiently with no storage/logging/retention, exports an AP2 artifact with execution_hash, and outlines compute-mode behavior (auto/server/browser, gpu handling). It also mentions the FV-status snapshot receipt. This fully discloses the tool's runtime behavior, exceeding what readOnlyHint and idempotentHint already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, but every sentence carries operational or provenance information. It front-loads the core classification purpose and compute behavior, then adds privacy, artifact, and linkage details. While it includes URLs and a JSON path that could be seen as extraneous, they serve provenance and verification purposes. It is not bloated relative to the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, privacy, artifacts, and provenance, but lacks an explicit description of the return value or output format. It says 'Exports an AP2 artifact with execution_hash' but does not explain what the classifier actually returns (e.g., risk level, confidence). With no output schema, this is a notable gap. The policy_parameters reference to the manifest is helpful but leaves the agent dependent on external documentation. Overall, it's reasonably complete but missing a clear output contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds value by explaining compute-mode semantics in more detail, clarifying gpu:true delegation, and pointing to the tool's manifest for policy_parameters field names. However, it does not elaborate on the actual decision function or expected policy_parameters structure, leaving some reliance on the manifest. This is above baseline but not maximally informative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: a deterministic classifier for blockchain/stablecoin quantum risk, operating as an OpenChainGraph compute node. It identifies the resource and verb specifically, and the title reinforces it. It stands out from the many classify_* siblings by targeting quantum risk, so an agent can distinguish it without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to choose this tool over alternatives. It mentions consuming specific upstream artifacts and feeding outputs downstream, but does not state conditions like 'use this when you need to assess quantum risk for a blockchain/stablecoin' or compare with sibling classifiers. The only operational directive is 'Use synthetic or anonymised inputs only,' which is a privacy constraint rather than a selection guideline. Thus, an agent is left to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_bold_challenge_finalityBoLD Challenge-Window Finality ClassifierARead-onlyIdempotentInspect
BoLD Challenge-Window Finality Classifier: OpenChainGraph compute node (settlement_finality_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-59-settlement-asset-finality-classifier. Open at: https://ainumbers.co/chaingraph/art-321-rhc-bold-finality-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations, disclosing deterministic execution, transient input handling ('not stored, logged, or retained'), server vs browser compute delegation, AP2 artifact export with execution_hash, and that the FV-status is a snapshot rather than a subscription. These are significant behavioral traits not captured by readOnlyHint or idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense with useful detail but repeats 'OpenChainGraph compute node' twice in the opening sentences and appends a lengthy FV-status URL and hash that are tangential to tool invocation. It is structured but not tightly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers compute modes, data handling, provenance, and upstream dependencies, but it never defines the actual classification result returned to the caller, and there is no output schema. Given the complex inputs (parent_hashes, parent_tool_ids, policy_parameters), the missing output semantics are a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes all four parameters, making the baseline 3. The description adds context about when policy_parameters are computed server-side and that compute:'browser' returns a delegation URL, but it does not add meaning to parent_hashes or parent_tool_ids beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first line clearly identify the tool as a BoLD Challenge-Window Finality Classifier, stating the subject matter and its compute-node nature. However, the description never directly states what the classification determines (e.g., whether a challenge window has finalized) and does not explicitly distinguish it from sibling finality classifiers like classify_settlement_finality or classify_ledger_consensus_finality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the BoLD-specific name and the reference to consuming upstream artifacts from art-59-settlement-asset-finality-classifier. Operational guidance is provided ('Use synthetic or anonymised inputs only', compute mode selection), but there is no explicit when-to-use vs alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_carf_reportableCARF / DAC8 Reportable User ClassifierBRead-onlyIdempotentInspect
CARF / DAC8 Reportable User Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-505-dispose-carf-status-message. Open at: https://ainumbers.co/chaingraph/art-504-classify-carf-reportable.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds considerable behavioral detail beyond annotations: determinism, server-side vs browser delegation mechanics, transient processing (not stored/logged/retained), execution_hash for provenance, and even an FV-status verification URL. This significantly exceeds what the readOnlyHint/idempotentHint annotations convey. No contradiction with annotations—deterministic, read-only, idempotent is consistent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but organized coherently: identity, determinism, compute modes, privacy, provenance, downstream, verification link. It's long (~100 words) but every sentence carries distinct information. Slightly overloaded with multiple URLs (artifact page + FV-status JSON) which is contextual rather than essential, but not wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description explains compute routing, privacy, provenance, and verification—good coverage. However, it never explains what a 'CARF reportable user' is, what the response shape looks like, or where the manifest lives to define policy_parameters. An agent would know the tool exists and is safe but not know what output to expect or how to construct meaningful policy_parameters. No output schema means the description bears the burden of explaining the return artifact, which it only partially does (AP2 artifact with execution_hash).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter is documented in the schema. The description adds the global constraint about compute modes (reiterating schema enum) and prudence about policy_parameters referencing a manifest. The key gap: policy_parameters has no field definitions in schema (dict with additionalProperties allowed), and the description punts to 'the tool's manifest' without saying where that manifest is. The parent_hashes/parent_tool_ids chain parameters are schema-explained, not description-explained. Since schema does the heavy lifting, baseline 3 is fair.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state this is a classifier for CARF/DAC8 reportable users, and explicitly identifies it as an OpenChainGraph compute node with a compliance_mandate designation. It states the purpose (classify reportable users) and provides a link to the specific artifact. However, it doesn't clearly distinguish itself from the many sibling 'classify_*' tools except by name, and the core classification logic isn't described—what makes a user reportable is left to the 'policy_parameters' which are deferred to a manifest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the ~50 other classify_* siblings. It does explain compute mode selection (auto/server/browser) which is usage-relevant, and states inputs should be synthetic/anonymised. But it doesn't state when this classifier should be used instead of, say, classify_digital_asset_regulatory or classify_ai_system_governance. The 'Output feeds' line gives a downstream consumer but no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_codm_expense_significanceCODM Significant Expense ClassifierCRead-onlyIdempotentInspect
CODM Significant Expense Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-634-codm-expense-significance-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| basis | No | |
| citation | No | |
| bucket_c_scope_note | No | |
| assessed_significant | No | |
| specified_item_50_22 | No | |
| evaluated_under_50_26A | No | |
| regularly_provided_to_codm | No | |
| other_segment_items_buckets | No | |
| input_outside_declared_domain | No | |
| must_disclose_separately_50_26A | No | |
| included_in_segment_profit_measure | No | |
| separate_disclosure_required_50_22 | No | |
| folds_into_other_segment_items_50_26B | No | |
| outside_significant_expense_principle | No | |
| segment_level_duties_not_decided_here | No | |
| easily_computable_from_codm_information | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context: 'Inputs are processed transiently and are not stored, logged, or retained', deterministic execution, and the browser delegation behavior for gpu:true nodes. It also explains the AP2 artifact export and execution_hash for provenance. This exceeds the annotation baseline and provides meaningful behavioral disclosure without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, multi-sentence block that repeats 'OpenChainGraph compute node' twice, then piles on URLs, FV-status, and provenance details. It is not concise or scannable; key information (purpose, inputs) is buried. The structure front-loads a title repetition rather than a clear statement of function. It could be cut by 40% without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, output schema, compute modes), the description covers several operational aspects: transient processing, synthetic input warning, AP2 artifact export, and the FV-status receipt. However, it omits a plain-language statement of what the classifier does and what the output represents. The output schema exists, so return format may be handled there, but without a purpose statement the agent still lacks grounding to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 documented in the schema. The description adds a small nugget about policy_parameters ('computed server-side when compute is auto or server') but that is contextual computation routing, not parameter meaning. It doesn't explain what fields the policy_parameters object should contain or how they influence the classification. Baseline 3 is appropriate since schema carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name suggests a classifier for CODM expense significance, but the description never states what the tool actually does. It opens with 'CODM Significant Expense Classifier: OpenChainGraph compute node' and then dives into implementation details (compute modes, provenance, URLs) without ever explaining the classification function or its output. An agent cannot tell what decision this tool makes or what inputs it needs beyond the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on compute modes ('use compute:"browser" for client-side execution', 'gpu:true always delegates') and a hard constraint ('Use synthetic or anonymised inputs only'). However, it never addresses when to choose this tool over the many sibling classifiers (e.g., classify_agentic_ai_risk, classify_nis2_entity). No alternatives are mentioned, so use-case routing is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_digital_asset_regulatoryDigital Asset Regulatory ClassifierBRead-onlyIdempotentInspect
Digital Asset Regulatory Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: 512-tokenized-security-lifecycle-validator. Open at: https://ainumbers.co/tools/510-digital-asset-regulatory-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| compliance_flags | No | |
| classification_results | No | |
| iso20022_party_identification | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description goes further: inputs are transient (not stored/logged/retained), the compute:auto vs browser delegation behavior is disclosed, an AP2 artifact with execution_hash is exported, and a deterministic nature is stated. This exceeds the annotation bar with meaningful, non-obvious behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich but somewhat rambling: it repeats 'OpenChainGraph compute node' twice, includes a long URL and a lengthy hash-based FV-status snapshot explanation that is probably over-specified for tool selection. Most useful details (transient processing, compute modes) are front-loaded, but the tail (URL, FV-status) adds noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 params, all docs described in schema) and the presence of an output schema, the description is sufficient — but only just. It never explains what 'classify' returns (the output schema presumably covers that) and it omits any statement about when to prefer this over sibling classification tools. The privacy note is a nice extra but not a substitute.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — every parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) has a description in the schema. The description adds little beyond the schema: it repeats the compute-mode rules and mentions policy_parameters input params but doesn't detail field names or the export behaviors. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description tells us this is 'Digital Asset Regulatory Classifier', an OpenChainGraph compute node for a compliance_mandate. It uses a verb ('classify') and a resource ('digital asset regulatory'), and the deterministic OpenChainGraph compute nuance distinguishes it from the many other classify_* and check_* siblings. However, it doesn't explicitly say what the classification output looks like (e.g., a regulatory category set).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description focuses on compute mechanics (auto vs browser, gpu:true delegation) and input privacy rather than on when to use this tool versus the many sibling classifiers (classify_ai_system_governance, classify_dora_incident, assess_mica_casp_readiness, etc.). There is no statement of when NOT to use it or which alternative suits other classification needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_dora_ict_incident_and_clock_deadlinesDORA ICT Incident Classifier & Reporting ClockBRead-onlyIdempotentInspect
DORA ICT Incident Classifier & Reporting Clock: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-467-dora-incident-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: it explains transient processing (inputs not stored/logged/retained), the compute auto-delegation behavior, and the FV-status snapshot semantics. This goes beyond the annotations to clarify data handling and reproducibility. However, it doesn't explicitly restate the read-only or idempotent nature, but that's expected since annotations cover it. No contradiction found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph with a lot of technical detail. It front-loads the name's purpose and then dives into compute mechanics, but the structure is not broken into helpful sections. Some sentences are highly specialized (e.g., 'OpenChainGraph compute node (attestation_mandate)') and may obscure the core purpose. It's not concise; it packs many concepts, making it harder to parse quickly. A 3 is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters, no output schema, and moderate complexity due to nested objects and compute modes. The description explains compute modes, data handling, and provenance, but lacks explicit information about what the tool returns (since no output schema), how the classification is performed, and what specific DORA deadlines are clocked. It also doesn't clarify the relationship with sibling 'classify_dora_incident'. That said, given the context signals, it's not critically incomplete, but it could do more, so a 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents each parameter in detail, including compute enum and parent_hashes/tool_ids arrays. The description adds some context (e.g., compute modes are explained), but mostly reiterates schema content. For 'policy_parameters', the description says 'See the tool's manifest for field names,' which is vague and doesn't add value beyond the schema's description. Baseline 3 is fair because schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and description state a specific purpose: classifying a DORA ICT incident and clocking reporting deadlines, and identify it as an OpenChainGraph compute node. However, it does not explicitly distinguish from the sibling 'classify_dora_incident', which seems likely to handle similar classification. The description focuses on execution mechanics rather than the classification logic, leaving some ambiguity about the exact scope. Still, the verb 'classify' and the resource are clear, so it earns a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives detailed guidance on compute modes (auto/server/browser) and mentions using synthetic inputs, but it does not explain when to use this tool compared to siblings like 'classify_dora_incident' or 'run_dora_readiness_diagnostic'. There is no explicit 'when to use this vs alternatives' guidance, and the description's focus on compute mechanics is more about execution than selection. This leaves the agent to infer purpose, so a score of 2 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_dora_incidentDORA Major-Incident Reporting Threshold ClassifierBRead-onlyIdempotentInspect
DORA Major-Incident Reporting Threshold Classifier: OpenChainGraph compute node (infrastructure_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-29-dora-readiness-diagnostic. Output feeds: pnr-01-dora-ict-cascade-simulator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-09-dora-incident-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| entity_type | No | |
| cross_border | No | |
| incident_type | No | |
| major_incident | No | |
| reporting_clock | No | |
| third_party_ict | No | |
| determination_code | No | |
| qualifying_criteria | No | |
| regulatory_framework | No | |
| competent_authority_note | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations, detailing that inputs are processed transiently and 'not stored, logged, or retained', a critical privacy constraint. It also explains compute modes—server vs browser delegation, gpu:true behavior—and mentions that it 'Exports an AP2 artifact with execution_hash for chain provenance'. These are behavioral traits the annotations (readOnlyHint, idempotentHint) do not fully capture, so the description earns full credit for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, unstructured wall of text that mixes purpose, infrastructure, chain relationships, privacy, and a verification URL. It repeats information already present in the schema (e.g., compute modes) and includes long, tangential details like the FV-status receipt and open link. It is not front-loaded for quick scanning; an agent must parse many clauses to extract the essential points. This lacks the conciseness expected for an effective tool definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers several contextual aspects: upstream/downstream artifacts, compute node nature, and transient processing. The output schema exists, so return values are not the description's burden. However, it omits critical usage guidance (when to use this vs. the sibling classifier) and relies on an external 'manifest' for `policy_parameters`, which an agent might not have access to. It is reasonably complete for an internal chain node but leaves gaps that could prevent correct invocation in isolation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already includes descriptions for all four parameters (coverage 100%), including a detailed explanation of the `compute` enum and the purpose of `parent_hashes` and `parent_tool_ids`. The description adds only marginal semantics—it repeats the compute behavior and mentions 'synthetic or anonymised inputs', but it does not clarify what `policy_parameters` should contain, deferring to 'the tool's manifest'. Since the schema handles most of the lifting, a baseline score of 3 is appropriate; the description neither enhances nor detracts significantly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence clearly identify the tool as a 'DORA Major-Incident Reporting Threshold Classifier', making the core purpose evident. However, the description immediately diverges into infrastructure details (compute modes, chain provenance) and does not explicitly distinguish it from the sibling tool 'classify_dora_ict_incident_and_clock_deadlines', which a trained agent might confuse it with. The purpose is clear enough for an agent to infer the classification task, but it could be more explicit about the exact decision scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides contextual chain information (consumes from 'art-29-dora-readiness-diagnostic', feeds into other tools) but does not explicitly state when an agent should choose this tool over alternatives. It never says 'use this when you need to determine if an incident meets DORA reporting thresholds' or 'use the sibling tool for clock deadlines'. The only usage hint is the compute mode explanation, which is about how to run it, not when to select it. This is insufficient for an agent deciding between similar classifiers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_eccn_dual_useECCN / Dual-Use ClassifierDRead-onlyIdempotentInspect
ECCN / Dual-Use Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-90-sanctions-screening-fit-diagnostic. Output feeds: art-95-circumvention-diligence-assessor, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-94-eccn-dual-use-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some transparency beyond annotations by stating inputs are processed transiently and not stored, and that the tool is deterministic. However, it also mentions exporting artifacts and consuming upstream artifacts, which could be interpreted as side effects, though not explicitly contradictory. Overall, it partially discloses behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive, repeating phrases like 'compute:' and 'gpu:false' multiple times. It is a template with redundant boilerplate, making it hard to extract the essential information. A concise, focused description would be far more effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to provide a complete picture. It does not explain the tool's inputs (beyond generic policy_parameters), its outputs, or the classification logic. An agent would not know what data to provide or what result to expect, leaving critical context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. However, the description adds little beyond the schema. It repeats compute mode details already present, and for policy_parameters it just says 'See the tool's manifest', providing no practical guidance. The description does not clarify how parameters influence classification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not clearly state what the tool does. The title indicates 'ECCN / Dual-Use Classifier', but the body is boilerplate about compute nodes, chaining, and artifacts. It fails to explain that the tool classifies export control numbers or dual-use items, leaving the core function ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other classify_* tools. It does not mention scenarios, alternatives, or conditions that would trigger its use. The only operational details are compute modes and chaining, which are irrelevant for usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_emir3_active_account_statusEMIR 3.0 Active Account Representativeness ClassifierBRead-onlyIdempotentInspect
EMIR 3.0 Active Account Representativeness Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-576-emir3-active-account-representativeness-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially exceeds the annotations by disclosing deterministic behavior, transient processing with no storage/logging/retention, compute-mode behavior including browser delegation and gpu:true semantics, and AP2 artifact export with execution_hash. These are meaningful behavioral traits not present in readOnlyHint/idempotentHint/destructiveHint, and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but repeats 'OpenChainGraph compute node' twice and 'Deterministic' twice, which adds noise. The provenance URL and FV-status snapshot explanation add length without directly helping an agent select or invoke the tool. It could be tightened while keeping the compute-mode and privacy caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description never states what the classifier actually returns, how to interpret the execution_hash artifact, or what the classification outcome looks like. It also defers policy_parameters field names to an external manifest, leaving core invocation semantics underspecified. The compute-mode and transient-processing details are useful but do not compensate for the missing result semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds useful semantics for the compute parameter well beyond the enum: server-side execution on Cloudflare Workers, browser delegation URL behavior, and gpu:true always delegating. It also contextualizes policy_parameters as transiently processed inputs. Parent-hash parameters remain schema-only, but that is acceptable given full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for classifying EMIR 3.0 active account representativeness, which names a domain and resource. However, it never explains what 'active account representativeness' means or what classification decision is produced, so the purpose largely restates the title/name without adding operational substance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational constraints such as 'Use synthetic or anonymised inputs only' and explains compute-mode selection, but it provides no guidance on when to choose this tool over sibling classifiers like classify_emir3_simm_approval_scope or validate_emir_trade_report. There are no explicit use-case conditions or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_emir3_simm_approval_scopeEMIR 3 SIMM Approval-Scope ClassifierCRead-onlyIdempotentInspect
EMIR 3 SIMM Approval-Scope Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-581-emir3-simm-approval-scope-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark the tool read-only, idempotent, and non-destructive, and the description adds materially: deterministic execution, server-side Cloudflare Workers vs browser delegation, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and FV-status snapshot semantics. These are behavioral traits an agent could not infer from the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening repeats 'OpenChainGraph compute node' twice and restates the title before giving any actual function. Much of the length goes to infrastructure, URLs, and a long FV-status receipt that do not help an agent construct a call, while the core semantic purpose is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite describing compute and privacy behavior, the definition never states the classification domain, expected output values, or how to populate policy_parameters beyond pointing to a manifest that is not included. With no output schema and an open-ended policy_parameters object, an agent lacks the information needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates the compute-mode behavior and policy_parameters semantics already present in the schema, adding the Cloudflare Workers context but no new field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the tool's title as 'EMIR 3 SIMM Approval-Scope Classifier' and labels it an OpenChainGraph compute node, but never states what classification it performs or what approval-scope categories or decision it produces. The domain function is buried under compute-mode and provenance details. An agent cannot tell what substantive output this tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool over sibling EMIR/classify/run_* tools. The only usage advice, 'Use synthetic or anonymised inputs only' and compute-mode selection, concerns operational constraints rather than alternative tool selection or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_erc1967_proxy_slotERC-1967 Proxy Slot ClassifierBRead-onlyIdempotentInspect
ERC-1967 Proxy Slot Classifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-607-erc1967-proxy-slot-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: determinism, transient input processing with no storage/logging/retention, server-side Cloudflare execution vs browser delegation, gpu-dependent behavior, AP2 artifact export with execution_hash, and FV-status verification semantics. These are exactly the details an agent needs and do not contradict the readOnlyHint/idempotentHint/destructiveHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's identity and contains valuable execution/safety details, but it repeats 'OpenChainGraph compute node' in consecutive sentences and includes a lengthy FV-status URL explanation that may be more noise than signal for tool invocation. It is informative but not tightly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers execution model, data handling, provenance, and verification status, which is helpful. However, with no output schema, it never explains what the classification response contains or what the expected classification result for an ERC-1967 proxy slot looks like. The lack of domain-specific output semantics is a notable gap for a tool whose name is the primary clue to its function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 repeats some compute-mode behavior already present in the schema and adds the pointer 'See the tool's manifest for field names' for policy_parameters, which is mildly useful. However, it does not materially enrich the parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (compliance_control)' and says it is deterministic, but it never states what the ERC-1967 proxy slot classifier actually classifies or produces. The purpose is largely carried by the title rather than the description, and it does not distinguish this tool from the many other classify_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as other classify_* or compute_* tools. The description does provide operational guidance about compute modes and instructs users to 'Use synthetic or anonymised inputs only,' but that is not a when-to-use recommendation relative to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_eudr_commodity_scopeEUDR Commodity Scope ClassifierCRead-onlyIdempotentInspect
EUDR Commodity Scope Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-166-eudr-geolocation-plot-validator. Open at: https://ainumbers.co/chaingraph/art-167-eudr-commodity-scope-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, establishing a safe, deterministic, side-effect-free profile. The description adds meaningful context: inputs are 'processed transiently' and 'not stored, logged, or retained,' and it mandates 'Use synthetic or anonymised inputs only.' It also discloses artifact export with execution_hash and a FV-status snapshot. These go beyond the structured annotations to clarify data handling and provenance, which is valuable for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text that buries key points amid operational details like the FV-status URL, artifact IDs, and compute mode specifics. It is not front-loaded with the core purpose; instead, it leads with a technical classification and only later mentions inputs are transient. Many sentences, such as the entire FV-status note, are tangential and could be omitted. The structure is poorly organized and overlong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description leaves significant gaps. It does not clearly explain what the tool returns or what the classification outcome is (e.g., a Boolean, a category, a report). It refers to 'policy_parameters' and a 'decision function' but never describes that function. It also fails to state when to use the tool or what upstream data is needed beyond an artifact ID. While some provenance and compute context is given, the agent cannot infer the tool's actual output or usage scope, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, but the tool description still adds extra detail for the 'compute' parameter by explaining default behavior ('auto' = server-side on Cloudflare Workers), browser delegation, and gpu:true behavior. However, for other parameters (parent_hashes, parent_tool_ids, policy_parameters), it merely defers to the manifest or restates what is in the schema. The added value is partial, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the title 'EUDR Commodity Scope Classifier' followed by 'OpenChainGraph compute node (compliance_mandate).' The title essentially restates the name without clarifying the actual function (e.g., classifying whether a commodity falls under EUDR scope). Sibling tools like 'score_eudr_country_risk' or 'link_eudr_supply_chain_traceability' hint at EUDR-related workflows, but this description never states what the classifier outputs or what decision it makes. It is a tautology of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and constraints but never states when to use this tool versus any alternative. There is no mention of conditions like 'use this when you need to determine EUDR commodity scope' or exclusions with sibling tools. It also lacks guidance on prerequisites, such as needing upstream artifacts from art-166-eudr-geolocation-plot-validator. Usage guidance is essentially absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_ifrs17_measurement_modelIFRS 17 Measurement Model ClassifierBRead-onlyIdempotentInspect
IFRS 17 Measurement Model Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-178-ifrs17-csm-rollforward-validator. Open at: https://ainumbers.co/chaingraph/art-177-ifrs17-measurement-model-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining deterministic execution, server-side vs. browser delegated execution, transient input handling with no retention, and the need for synthetic/anonymised inputs. It also discloses that outputs are AP2 artifacts with execution_hash and an offline-verifiable status receipt. This is strong behavioral context that does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the main compute-mode information, but repeats 'OpenChainGraph compute node' multiple times and includes long URL/FV-status details that may not be essential for tool invocation. It is dense and fact-packed, but could be tightened without losing key behavior. Structure is reasonable but not exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should somehow convey what the classifier actually returns, but it only says it 'exports AP2 artifact with execution_hash' and feeds a downstream validator. There is no mention of classification categories, result meaningful semantics, or typical response values. For a tool with a nested policy_parameters object and no output schema, this leaves a critical gap in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 useful context for the compute parameter (e.g., gpu:true delegation behavior), but says nothing about how to structure parent_hashes, parent_tool_ids, or policy_parameters beyond what is already in the schema. The reference to the tool's manifest for policy_parameters is helpful but leaves semantics partly external.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'IFRS 17 Measurement Model Classifier' and an 'OpenChainGraph compute node', so it has a specific domain and resource. However, it never states what classification decision the tool makes or what outputs it produces, leaving the actual purpose vague. It does not meaningfully distinguish itself from the many other classify_* tools beyond its name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to select this tool over alternatives. The description covers computation modes and output routing, but never states the use case or what kind of IFRS 17 classification it serves. The output reference to art-178-ifrs17-csm-rollforward-validator hints at downstream usage, but no when-to-use or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_ledger_consensus_finalityLedger Consensus Finality ClassifierARead-onlyIdempotentInspect
Ledger Consensus Finality Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-527-classify-ledger-consensus-finality.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive. The description adds valuable transparency: inputs are processed transiently and not stored/logged/retained, which reassures about privacy; it also discloses it exports an AP2 artifact with execution_hash and that the FV-status link is a snapshot not subscription. These go beyond annotations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long and dense with technical details. It front-loads the core purpose but then includes several clauses about compute modes, transient processing, AP2 artifact export, and FV-status receipts. While all relevant, the sentence about the FV-status JSON path and provenance verification is somewhat tangential and verbose for an agent deciding whether to call it. It's structured, but could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has nested objects (policy_parameters parent_hashes) and no output schema, the description covers key execution context: compute mode choices, server vs browser delegation, transient processing, and artifact export. It does not explain expected inputs for policy_parameters beyond 'see manifest', which is a slight gap, but the overall context is reasonably complete for an agent to proceed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has descriptions. The tool description adds context beyond schema by explaining compute modes in more detail ('auto' server for gpu:false, 'browser' forces client-side delegation URL) and clarifies that policy_parameters are computed server-side when applicable. This adds meaningful value on top of schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Ledger Consensus Finality Classifier' and description state it classifies ledger consensus finality via a compliant compute node. It is distinguishable from sibling 'classify_settlement_finality' or 'classify_bold_challenge_finality' by the OpenChainGraph compute-mode detail, but the description does not explicitly contrast with those siblings, so the precision of exact scope (which ledger/consensus) is somewhat implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage context: how compute modes behave (auto/server/browser), gpu:true nodes delegating to browser, and the constraint to use synthetic or anonymised inputs only. It doesn't explicitly contrast with sibling tools or say 'use this when ... not ...', but the operational guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_mla_charge_inclusionMLA Charge-Inclusion ClassifierCRead-onlyIdempotentInspect
MLA Charge-Inclusion Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-615-mla-charge-inclusion-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| basis | No | |
| citation | No | |
| charge_type | No | |
| included_in_mapr | No | |
| manual_review_reason | No | |
| conditional_limit_usd | No | |
| is_credit_card_account | No | |
| manual_review_required | No | |
| short_term_exception_claimed | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clarifies that the tool is deterministic, executes on Cloudflare Workers when compute is 'auto' (for gpu:false nodes), and supports a server-side compute model. However, it does not explain the behavioral semantics of the classification: what inputs drive the decision, what the output looks like, or how policy_parameters affect execution. The description is more about the runtime engine than the tool's actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise but contains redundant phrasing—'OpenGraph compute node (compliance_mandate)' and 'Deterministic OpenGraph compute node' essentially repeat. The key runtime detail (server-side compute, gpu:false) is present, but the redundancy and lack of substantive purpose limit the efficiency of the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A tool named 'classify_mla_charge_inclusion' needs at minimum a clear statement of its classification logic, expected inputs, and output format. This description provides none of those. It mentions 'compliance_mandate' but doesn't explain how that relates to the output. Complete enough to understand the runtime but not the tool's behavior or result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Each parameter (compute, parent_execution_hash, parent_tool_ids, policy_parameters) has a type and a brief note. The description highlights that policy_parameters are computed server-side when applicable gets extra context. However, it explicitly delegates the field names for policy_parameters to 'the tool's manifest,' leaving a dependency on external documentation, which partially undermines self-containment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'MLA Charge-Inclusion' suggests a domain-specific classification, but the description never states what the tool actually does—what qualifies as 'charge inclusion' or what decision it makes. It describes the compute environment (deterministic, server-side on Cloudflare Workers) rather than the domain logic. Some intent is conveyed through the title, but the description itself is opaque about the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains runtime behavior (compute mode and server-side execution) but provides no usage guidance: no preconditions, no workflow expectations, no examples, and no reference to what 'compliance_mandate' or 'policy_parameters' should contain. It directs users to 'the tool's manifest for field names, but that external reference is not self-contained. There is no 'how to use' or 'when to use' information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_nis2_entityNIS2 Entity Scope Classifier (Essential / Important / Out-of-Scope)CRead-onlyIdempotentInspect
NIS2 Entity Scope Classifier (Essential / Important / Out-of-Scope): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-142-nis2-art21-gap-checker. Open at: https://ainumbers.co/chaingraph/art-141-nis2-entity-scope-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/integration, idempotent, non-destructive, and the description adds rich behavioral context on top: determinism, transient non-persistent processing, a browser delegation URL for compute modes, and a clear synthetic/anonymized input warning. The FV-status 'snapshot, not a subscription' note is also honest provenance context. However, it stops short of describing error conditions (e.g., what happens on unregistered kernels) or the exact shape/behavior of the AP2 artifact's response bounds.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of run-on sentence fragments that front-loads infrastructure (OpenChainGraph, compute, Workers) before establishing what the classifier even returns. Important caveats like 'Use synthetic or anonymised inputs only' are buried mid-paragraph, and the provenance URL is a lengthy token that should be a separate field or link. The description attempts to cover compute semantics, privacy, provenance, security levels, and a consumer name in one overstuffed paragraph — it needs a full rewrite for scanability and ordering by relevance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 4 params, nested objects, no output schema, and an implicit classification contract, the description is surprisingly silent on the classification output format/isDataModel: no output schema, no enum of returned scope bits, no example classifier response beyond what the title says. The compute/platform semantics are exhaustively described (browser delegation, GPU nodes, AP2 artifact/execution_hash, downstream consumer reference), but the domain-facing behavior — what defines a 'scope' and what a caller should do with the result — is entirely delegated to title inference and sibling tools. Given the complexity, the description should specify the essential/important/out-of-scope output contract instead of leaving it implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description adds limited additional value beyond the schema, mostly re-stating compute mode rules without enriching parameter understanding. The lazy 'See the tool's manifest for field names' for policy_parameters is a missed opportunity for the most domain-specific parameter. Thus a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'NIS2 Entity Scope Classifier (Essential / Important / Out-of-Scope)' clearly expresses the verb+resource and even conveys the classification outcomes. However, the description itself opens with a near-repeat of the title and then immediately buries the tool's purpose under OpenChainGraph compute node, Cloudflare Workers, and GPU/browser mode details. The description never explicitly states the outcome of a run (i.g. entity is assigned Essential/Important/Out-of-Scope). The purpose is discernible from the title, sister classifiers, and downstream consumer mention, but the description wastes its opening on implementation noise instead of explaining the learned categorizer's contract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no 'when to use' guidance against sibling tools like check_nis2_art21_measures, score_nis2_incident_significance, or compute_nis2_penalty_exposure, nor any exclusion criteria. The only usage-adjacent guidance is the compute mode selector (auto/browser), which is a parameter choice rather than tool-selection guidance. The closest thing to an alternative is the downstream consumer art-142-nis2-art21-gap-checker, which tells you where output goes, not when to pick this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_qm_apr_apor_spreadQM APR-APOR Spread ClassifierBRead-onlyIdempotentInspect
QM APR-APOR Spread Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-218-qm-points-and-fees. Open at: https://ainumbers.co/chaingraph/art-219-qm-apr-apor-spread.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds: deterministic behavior, transient processing with no storage/retention, server-side vs browser delegation, and AP2 artifact export with execution_hash. This is meaningful context beyond annotations. However, it does not explain what 'OpenChainGraph compute node' means for a caller, what the AP2 artifact contains beyond the hash, or the FV-status receipt semantics. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense block of ~140 words, front-loaded with the classifier identity and compute mode. It packs useful detail (compute modes, GPU behavior, privacy, upstream artifact, URL, FV-status link) but buries it in infodump style rather than structuring for quick parsing. The repeated 'OpenChainGraph compute node' phrase is redundant. Some sentences are necessary, but the overall organization could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no output schema and 100% schema coverage, the description covers the main legend: compute mode, GPU, transient processing, upstream dependency, artifact export. But it omits actual usage requirements: the 'policy_parameters' fields are not enumerated (point to unobtainable manifest), the return value is unspecified (what does the artifact contain?), and there is no statement of prerequisites before invoking (e.g., must run check_qm_points_and_fees first). An agent cannot confidently call this tool correctly without external lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 actually confuses one parameter: it says 'By default (compute:"auto")' while the schema enum lists 'auto', 'server', 'browser' — the description omits the 'server' option in the default sentence (lists auto/browser only). The 'policy_parameters' parameter is described only as 'Input parameters for this tool's decision function' with a pointer to 'the tool's manifest for field names' — the manifest is not attached, so the agent cannot actually supply values. The description mentions 'classify_qm_apr_apor_spread' as if it is the output artifact, which overlaps with the tool name. Marginal value over schema, and one factual slip.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first phrase identify this as a classifier for QM APR-APOR spread, but the description never explains what the classification output actually is (e.g., verdicts, category labels, computed spread vs thresholds). It is clear this is a compute node in an OpenChainGraph, but the core functional purpose — what the agent gets back — is not stated. Among ~800 sibling tools, it clearly stands apart as a classifier, but not from the dozens of other 'classify_*' tools without reading deeper.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description covers compute mode selection (auto/server/browser) and gpu node behavior, which is usage guidance but for the execution mechanism, not for deciding when to use this tool versus alternatives. It names one specific upstream artifact (art-218-qm-points-and-fees) the tool consumes, which is useful. It does not compare against sibling classification tools or say what inputs are needed beyond a vague 'policy_parameters' reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_rate_rec_5pct_thresholdRate Reconciliation 5% Threshold ClassifierDRead-onlyIdempotentInspect
Rate Reconciliation 5% Threshold Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-635-rate-rec-5pct-threshold-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| basis | No | |
| citation | No | |
| pretax_income | No | |
| threshold_amount | No | |
| statutory_rate_pct | No | |
| category_recognized | No | |
| not_assessable_reason | No | |
| pct_of_threshold_base | No | |
| threshold_base_amount | No | |
| crosses_5pct_threshold | No | |
| disaggregation_citation | No | |
| reconciling_item_amount | No | |
| required_disaggregation | No | |
| break_even_judgment_note | No | |
| must_disclose_separately | No | |
| reconciling_item_category | No | |
| denominator_near_zero_caveat | No | |
| management_judgment_required | No | |
| entity_is_public_business_entity | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses some execution details (compute modes, transient input processing, AP2 artifact export) but fails to describe the tool's actual decision behavior, side effects, or what the returned artifact contains. Given that annotations already indicate read-only and idempotent behavior, the added transparency is minimal and leaves the core behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with a large amount of boilerplate about compute modes, parent hashes, and AP2 artifacts that distracts from the tool's purpose. It is not front-loaded with the core function; instead, the first half is generic infrastructure text. A much shorter, purpose-focused description would be more effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown) and a nested policy_parameters object, the description is incomplete. It does not explain the classification criteria, the nature of the 5% threshold, or the structure of the returned artifact beyond 'AP2 artifact'. It also fails to differentiate this tool from the many similar classification tools in the sibling list, leaving the agent without enough context to select or use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema descriptions cover all parameters, the description adds little beyond generic compute and parent-hash mechanics. The policy_parameters field is not specified at all—it merely points to a manifest. The compute parameter description is repeated from the schema, and parent_hashes/parent_tool_ids are described functionally but without concrete examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not clearly state what the tool actually does. While the title suggests a rate reconciliation classifier with a 5% threshold, the description text is dominated by generic compute-mode and parent-hash boilerplate, and never explicitly describes the classification logic or its output. The core purpose is implied but not articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus sibling tools. It does not mention scenarios, conditions, or alternative tools. The only directional hints are about compute modes, which are execution details, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_redline_round_changesRedline Round ClassifierBRead-onlyIdempotentInspect
Redline Round Classifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-589-redline-round-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | No | |
| verdict | No | |
| scope_note | No | |
| round_chain | No | |
| round_summary | No | |
| classifications | No | |
| diff_transcript | No | |
| rejected_inputs | No | |
| attribution_note | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint, idempotentHint, and destructiveHint, the description adds substantial, non-redundant behavioral context: inputs are processed transiently and not stored/logged/retained, only synthetic or anonymised inputs are permitted, execution routes to Cloudflare Workers by default or browser delegation for gpu:true nodes, and the tool exports an AP2 artifact with execution_hash for chain provenance. These details meaningfully change how an agent would invoke and trust the tool, and nothing contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but nearly every clause carries a distinct fact: determinism, compute routing, browser delegation, transient processing, no retention, synthetic-input requirement, AP2 provenance, artifact URL, and FV status. The opening line repeats 'OpenChainGraph compute node' and the prose is a dense wall without line breaks, which slightly hurts scannability, but there is minimal filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Execution mechanics, privacy posture, provenance, and compute-node behavior are thoroughly covered, and an output schema exists so return values need not be described. However, the core domain semantics are missing — what changes are classified, what the classification output actually means, and what policy_parameters should contain are all unexplained — so despite rich operational context, an agent cannot fully understand the tool's substantive function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 even without added parameter detail in the description. The description reinforces the compute-mode semantics already captured in the schema's compute description but adds little beyond that. The critical policy_parameters object remains opaque in both the schema and the description — it is deferred to an external manifest — so the description does not raise the score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as 'Redline Round Classifier' but never explains what 'redline round changes' are, what classification is performed, or what the outcome classes look like. It focuses on infrastructure identity (OpenChainGraph compute node, compliance_control) rather than the substantive classification function. Domain purpose must be inferred from the name and from sibling tools like redline_diff and redline_verify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No selection guidance is given relative to the dozens of sibling tools — there is no mention of when to use this classifier versus redline_diff, redline_verify, or the many other classify_* tools. The compute-mode explanations (auto/server/browser) describe a parameter, not when the tool should be chosen. The synthetic/anonymised-input warning is a data handling rule, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_safeguarding_methodCASS 15 Safeguarding Method ClassifierCRead-onlyIdempotentInspect
CASS 15 Safeguarding Method Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-500-classify-safeguarding-method.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations readOnlyHint=true and idempotentHint=true, the description adds notable context: inputs are processed transiently and not stored, and it warns to use synthetic or anonymised inputs. It also mentions exporting an AP2 artifact with execution_hash. These go beyond the annotations and are useful, though the return format remains undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long and buries the purpose under infrastructure details. It includes a raw URL and a JSON status-file link that are unlikely to assist an agent in calling the tool. It is not front-loaded with the core functionality; the first sentence even restates 'OpenChainGraph compute node' instead of stating the classification task.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested policy_parameters object and no output schema, the description fails to explain what the classifier returns or what fields are expected in policy_parameters (it tells the reader to see the manifest, which is unhelpful). It omits the actual decision semantics and the response shape, making it incomplete for an agent to confidently use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The tool description adds value by explaining the compute::auto/browser delegation behavior in prose and by clarifying how policy_parameters are computed server-side versus delegated. It does not repeat the schema, and the added compute-mode details are helpful for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title indicates it classifies safeguarding methods, but the description never states the domain context or what exactly is being classified. It focuses entirely on execution infrastructure (compute modes, Cloudflare Workers, OpenChainGraph) rather than the tool's functional purpose. An agent cannot tell what 'safeguarding method' means or what input would yield a meaningful classification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many classify_* and check_safeguarding_* siblings. The description mentions no alternatives, no preconditions, and no domain-specific triggers. An agent would have to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_sco60_exposureSCO60 Crypto-Asset Exposure ClassifierARead-onlyIdempotentInspect
SCO60 Crypto-Asset Exposure Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-281-sco60-crypto-asset-exposure-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description doesn't need to repeat safety. It adds valuable behavioral context: deterministic processing, transient inputs not stored or logged, browser delegation for browser mode, and export of an AP2 artifact with execution_hash. It also includes FV-status for provenance verification. This goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but information-dense, covering compute modes, input handling, artifact export, and provenance verification. It is front-loaded with the tool's identity and then expands into operational details. While some phrases are redundant (e.g., 'Deterministic OpenChainGraph compute node' repeated), it remains appropriately sized for a complex compute node.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested objects, compute modes, compliance context), the description covers most necessary aspects: compute behavior, input privacy, artifact export, and FV-status. It lacks an explicit explanation of the classification output or the policy_parameters fields, but that could be in the manifest. With no output schema, a bit more on expected output might be helpful, but overall it is complete enough for an agent to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all parameters. The description does not add much beyond what the schema provides; it mentions compute modes and the policy_parameters field name but does not explain what fields policy_parameters contains or how they are used. Baseline 3 is appropriate because the schema is complete, but the description could elaborate on nested object semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify the tool as a classifier for SCO60 crypto-asset exposure, with a specific verb ('classify') and resource ('SCO60 Crypto-Asset Exposure'). It distinguishes itself from siblings by its specialization in SCO60 exposure classification. However, the description does not explicitly state what the classification output is or how it is used, which is a slight gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it is an OpenChainGraph compute node with compliance mandate, and it clarifies compute modes (auto, server, browser) and when browser delegation occurs (gpu:true nodes). It does not explicitly compare to sibling tools, but the specialization and compliance mandate imply when to use it. No explicit exclusions or alternatives are named, but the context is sufficient for basic usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_settlement_asset_finalitySettlement-Asset & Legal-Finality ClassifierCRead-onlyIdempotentInspect
Settlement-Asset & Legal-Finality Classifier: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2026-Q3 (ECB Pontes pilot end-Q3 2026; DTCC Collateral AppChain production Oct 2026. Verify SFD/PFMI designations against current regulatory status before that date.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-56-tokenized-settlement-fit-diagnostic. Output feeds: art-58-cross-network-settlement-validator, 506-onchain-cash-leg-finality-checker, 510-digital-asset-regulatory-classifier. Open at: https://ainumbers.co/chaingraph/art-59-settlement-asset-finality-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and the description adds meaningful behavioral context: inputs are processed transiently and not stored/logged/retained, the compute is deterministic, and compute modes delegate to browser for gpu:true nodes. This exceeds what annotations alone provide, covering side effects and execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and cluttered with regulatory deadlines, URLs, FV-status links, and chain provenance details that are not essential for invoking the tool. It front-loads the classifier name but then spends several sentences on tangential context. The essential operational details (what policy_parameters contain, what the output is) are buried or omitted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain the return value, but it never does—it only says it exports an AP2 artifact. It also defers policy_parameters field names to the manifest, leaving the agent without sufficient info to construct valid inputs. While it gives useful chain context, it is incomplete for actually calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds little beyond the schema: it expands on compute modes and notes that policy_parameters are computed server-side, but the schema already describes these. It does not elaborate on parent_hashes or parent_tool_ids beyond the schema, so the description adds only marginal value over the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the tool as a 'Settlement-Asset & Legal-Finality Classifier' and identifies it as an OpenChainGraph compute node with a compliance mandate, hinting at SFD/PFMI verification. However, it never explicitly states what classification it performs or what output it produces. It does not distinguish from sibling tools like classify_settlement_finality or classify_digital_asset_regulatory, leaving the agent to infer scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some operational guidance (compute modes, transient processing, synthetic inputs) and mentions upstream/downstream artifacts, but it never states when to use this tool versus alternatives. There is no 'use this when...' or 'instead of X' guidance, so an agent cannot easily decide if this is the right classifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_settlement_finalitySettlement Finality ClassifierBRead-onlyIdempotentInspect
Settlement Finality Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-492-classify-settlement-finality.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses extensive behavior beyond the annotations: inputs are transient and not stored, logged, or retained; execution may occur server-side on Cloudflare Workers or delegate to the browser; and results are exported as an AP2 artifact with execution_hash for provenance. This aligns with readOnlyHint=true and idempotentHint=true, and provides valuable details on data handling and execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph with extraneous details like URLs, FV-status receipts, and compliance references that distract from the core purpose. It is not front-loaded with the essential classification semantics; instead, compute infrastructure details dominate. Several sentences are redundant ('Deterministic OpenChainGraph compute node' appears twice) and the field lacks clear structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested policy_parameters, no output schema), the description is incomplete. It does not explain what the classification result looks like, what the output artifact contains beyond an execution_hash, or how to interpret the returned value. The agent is left without enough information to understand the decision function or validate the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented in the schema. The description adds minimal extra meaning: it briefly explains compute modes but repeats what the schema states. No additional insight is provided for parent_hashes or policy_parameters beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly indicate a classifier for settlement finality, and the description adds it is an 'OpenChainGraph compute node (compliance_mandate)' with deterministic behavior. However, it does not describe what specific classification is performed or what the output decision represents, nor does it explicitly differentiate from siblings like classify_settlement_asset_finality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternative classifiers. It mentions compute mode selection and input privacy ('Use synthetic or anonymised inputs only'), but no contextual information about appropriate scenarios or prerequisites. The compliance_mandate label is vague and not actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_t1_posttrade_timingT+1 Post-Trade Timing ClassifierARead-onlyIdempotentInspect
T+1 Post-Trade Timing Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-506-classify-t1-posttrade-timing.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: deterministic execution, server-side vs browser delegation, transient processing (not stored/logged/retained), AP2 artifact with execution_hash for provenance, and an offline-verifiable FV-status receipt. It goes beyond annotations by explaining the compute routing and privacy posture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and dense, mixing essential info (deterministic node, compute modes) with extraneous details like the OpenChainGraph compute node phrase repeated, browser delegation URL, AP2 artifact, FV-status URL. Key information is buried in a large paragraph. It could be more structured (e.g., bullet points) and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, provenance requirements, privacy guarantees) and that there is no output schema, the description covers essential operational aspects: performance expectations (deterministic), execution location (server/browser), data handling (transient), and output artifact (AP2 with execution_hash). It doesn't detail decision criteria for T+1 timing, but that's not typical for a classifier tool. Overall, quite complete 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter has a description. The description adds little beyond the schema: it references policy_parameters and parent_hashes but doesn't explain the decision function semantics, field names for policy_parameters, or expected format. With full schema coverage, baseline 3 is appropriate; no additional clarity needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence clearly state the tool's function: classifying T+1 post-trade timing. The description identifies it as a deterministic OpenChainGraph compute node with compliance mandate. However, it doesn't explicitly differentiate from the many other classify_* siblings (e.g., classify_settlement_finality, classify_ledger_consensus_finality), relying on the specific 'T+1 post-trade timing' in the name. Still, the purpose is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) but does not state when to use this tool versus alternative classify tools. It doesn't mention prerequisites like needing upstream parent_hashes or that it's for T+1 timing classification specifically. No explicit 'when not to use' guidance. The context is implied by the title and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_vida_platform_deemed_supplierViDA Platform Deemed Supplier ClassifierCRead-onlyIdempotentInspect
ViDA Platform Deemed Supplier Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-163-vida-oss-registration-router. Open at: https://ainumbers.co/chaingraph/art-162-vida-platform-deemed-supplier-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive annotations, the description usefully discloses that inputs are transient and not stored, logged, or retained, and that synthetic or anonymized inputs should be used. It also adds determinism, AP2 artifact export with execution_hash, and chain provenance, which are meaningful behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bloated and repetitive: 'OpenChainGraph compute node' appears twice in the first two sentences. It also includes a lengthy FV-status receipt path and explanation that, while provenance-related, is not essential for tool selection or invocation and dilutes the core message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what the classifier returns, but it only says an AP2 artifact with execution_hash is exported. It also fails to define the actual decision inputs or policy_parameters structure, making it hard for an agent to construct a correct invocation despite the rich operational detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds context about server-side vs browser computation, but the critical policy_parameters object remains opaque — the description only points to a manifest without naming the expected fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'ViDA Platform Deemed Supplier Classifier' and an 'OpenChainGraph compute node', but never states what the classifier actually decides or what 'deemed supplier' means in this context. It relies on the title for purpose and does not differentiate it from the many sibling classify/assess/route_vida tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives detailed compute-mode and delegation behavior, but no guidance on when an agent should invoke this tool versus alternatives like assess_vida_drr_reporting_obligation or route_vida_oss_registration. It mentions that the output feeds art-163-vida-oss-registration-router, but that is downstream routing information, not usage selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_agentic_payment_protocolsAgentic Payments Protocol Comparator & Field CrosswalkARead-onlyIdempotentInspect
Compare agentic payment protocols (AP2, ACP/Shared Payment Token, x402, Visa TAP, Mastercard Agent Pay) across credential, signing, scope, rail, identity, and audit dimensions; optionally recommend a fit for a scenario. Read-only local lookup and comparison — no state change, no keys held, nothing sent or registered anywhere. Use when a developer or strategist needs to orient across the fragmenting agentic-payments standards. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| matrix | No | |
| crosswalk | No | |
| recommendation | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing 'Read-only local lookup — no state change, no keys held, nothing sent or registered anywhere' and 'runs client-side (zero PII, zero network).' This gives the agent clear expectations about side effects, data privacy, and network usage, which are not captured by readOnlyHint or idempotentHint alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and front-loads the core purpose with specific protocols and dimensions. It includes necessary safety and usage details, but the final sentence about widget rendering and zero PII/network could be viewed as slightly verbose; however, it does convey important behavioral context, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the comparison subject, dimensions, optional recommendation behavior, read-only nature, usage scenario, and client-side execution. Since an output schema exists, return format details are not required. The tool is a read-only comparator, and the description provides sufficient context for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema's single 'inputs' property has a generic description pointing to 'manifest input_schema.' The tool description repeats the AIN Bridge prefill mechanism but adds no specific parameter details, such as what input element IDs exist or what values they accept. With 100% schema description coverage, the baseline is 3, but the description provides almost no added parameter meaning beyond the schema, only hinting at 'scenario' input for recommendations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific protocols (AP2, ACP/Shared Payment Token, x402, Visa TAP, Mastercard Agent Pay) and the comparison dimensions (credential, signing, scope, rail, identity, audit). It clearly communicates the tool's function as a comparator with an optional recommendation feature, distinguishing it from generic comparison tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'Use when a developer or strategist needs to orient across the fragmenting agentic-payments standards.' It states the target audience and scenario, though it does not mention exclusions or alternatives like compare_agentic_rail_protocols.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_agentic_rail_protocolsAgentic Payments Protocol ComparatorARead-onlyIdempotentInspect
Agentic Payments Protocol Comparator: OpenChainGraph compute node (routing_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-16-google-ap2-mandate-builder, art-23-visa-trusted-agent-protocol-inspector, art-24-mastercard-agentic-token-builder, art-25-a2a-agent-card-validator, art-26-x402-payload-decoder-flow-simulator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-22-agentic-payments-protocol-comparator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context: it explains compute modes (server vs browser), transient processing (no storage/logging), and the deterministic nature (via execution_hash). However, it does not elaborate on what happens to data after processing beyond 'not stored', or clarify the return format beyond 'exports an AP2 artifact'. The description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads key facts (purpose, compute behavior, privacy), but includes a long list of output feeds and a verification link that could be considered tangential for an agent deciding to call the tool. It is not overly verbose, but not every sentence earns its place; the feed list is useful context but may be better placed in annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (4 params, nested objects, compute behavior, output artifact), the description covers important aspects: compute modes, transient processing, privacy constraints, and output artifact type. No output schema exists, so the description's mention of 'AP2 artifact' and 'execution_hash' helps fill that gap. The description is reasonably complete for an agent to understand what it does and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover all parameters (100% coverage), including detailed explanations for compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds little beyond that; it mentions 'compute:auto' default and browser delegation, but this is already in the schema. It does not add new semantic meaning to the parameters. Since schema coverage is high, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a comparator for agentic payments protocols, with a specific resource ('Agentic Payments Protocol Comparator'). The description distinguishes it from siblings by specifying its role as an OpenChainGraph compute node with routing policy and output feeds to related tools. It is less explicit about what exact comparison it performs (e.g., comparing features, costs, security), which could be inferred from the name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on compute modes and how inputs are handled, but it does not explicitly state when to use this tool versus alternatives like 'compare_agentic_payment_protocols' (a sibling with a similar name). There is no exclusion guidance or alternative recommendation. The output feed list hints at its downstream use but not at alternative tools for comparison tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_basel_2023_vs_2026Basel 2023-vs-2026 Capital-Delta ComparatorCRead-onlyIdempotentInspect
Basel 2023-vs-2026 Capital-Delta Comparator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-357-basel-2023-vs-2026-capital-delta-comparator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds details about 'Inputs are processed transiently... not stored, logged, or retained' and the deterministic nature for gpu:false nodes, which is useful behavioral context. However, the description contradicts nothing and adds some value, but there's ambiguity about the 'OpenChainGraph compute node' terminology which is not explained. It also mentions 'compute:"browser" forces client-side execution and returns a browser delegation URL instead,' which could confuse agents about execution semantics but adds transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and includes numerous unrelated details: the URL link, FV-status receipt, execution hash, and Cloudflare Workers specifics. These are operational implementation details not central to the tool's purpose. The description is front-loaded with the tool name, but the rest is padded with technical logistics that obscure the core purpose. It could be far more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (it's a comparator with policy_parameters, compute modes, and provenance requirements), the description does not fully explain what the tool does beyond the name. It assumes prior knowledge of 'OpenChainGraph' and 'AP2 artifact' terminology. It does not describe inputs, output format, or expected usage pattern clearly. The description leaks information about compute execution but omits the actual comparison logic and expected inputs for policy_parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented in the schema. The description adds context for policy_parameters ('Input parameters for this tool's decision function') but doesn't explain the expected fields for the Basel comparison. It does not add semantic meaning beyond the schema's existing descriptions, but given the coverage, a baseline 3 is appropriate. The description's reference to 'decision function' for the comparison is vague.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and title clearly indicate a comparison function for Basel capital calculations between 2023 and 2026. The description identifies it as an OpenChainGraph compute node but does not clearly explain what the 'comparator' does — it only mentions compliance mandate and compute modes. The description is padded with unrelated operational details about compute execution, URL, and FV-status, but the core comparison purpose is only implied. It does not explicitly state whether it computes a delta, produces reports, or analyzes differences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus siblings like compute_basel31_delta or compute_rwa_scenarios. It mentions 'Use synthetic or anonymised inputs only,' which is a usage constraint, but there is no explicit direction on when an agent should choose this tool over other Basel-related tools. It does not describe the scenario or context for the comparison (e.g., regulatory change analysis, impact assessment).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_corridor_costCorridor Cost Comparator (World Bank RPW)BRead-onlyIdempotentInspect
Corridor Cost Comparator (World Bank RPW): OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-248-compute-remittance-disclosure, art-250-model-stablecoin-corridor-economics. Open at: https://ainumbers.co/chaingraph/art-249-compare-corridor-cost.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only, idempotent, and non-destructive; the description goes well beyond them by disclosing deterministic execution, server-side vs browser delegation behavior, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, upstream artifact dependencies, and offline-verifiable FV-status. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph with redundant opening sentences ('OpenChainGraph compute node' twice) and a long tail about FV-status and URLs that is not needed for tool selection or invocation. Useful compute-mode and data-retention details are buried in the middle rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the long description, the agent is never told what the comparator actually returns or what fields policy_parameters must contain; the schema defers to 'the tool's manifest,' which is not included. The compute/delegation mechanics are well covered, but the domain inputs and output semantics are missing, so an agent cannot reliably construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all four parameters, so the baseline is 3. The description adds meaningful semantics for the compute parameter (auto/server/browser behavior, gpu:true delegation) and clarifies that policy_parameters are computed server-side when applicable. However, it does not enumerate policy_parameters fields, and the schema only defers to 'the tool's manifest,' so the most important input remains under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (analytics_mandate)' and repeats 'Deterministic OpenChainGraph compute node,' but never states a concrete verb such as 'compares corridor costs' or describes the comparison output. The function is only inferable from the title and the upstream artifact names (art-248/art-250), so an agent cannot tell from the description alone exactly what computation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in an OpenChainGraph analytics pipeline and names required upstream artifacts, but it never states when to prefer this tool over alternatives or what disqualifies a use case. The 'use synthetic or anonymised inputs only' is a constraint, not a selection criterion, and no sibling differentiation is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_cross_ccp_pqd_fieldsCross-CCP PQD ComparatorBRead-onlyIdempotentInspect
Cross-CCP PQD Comparator: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-528-cross-ccp-pqd-comparator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds determinism, browser delegation behavior, transient processing with no storage/logging/retention, a synthetic-data requirement, and AP2 artifact export with execution_hash. This is rich, specific behavioral disclosure that materially helps an agent anticipate side effects and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overloaded with execution and provenance details, including a URL and a long FV-status hash, that are not necessary for tool invocation. It reads as an information dump rather than a focused contract, and the core comparison semantics are missing while peripheral metadata consumes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The execution model, privacy behavior, and artifact output are well covered, and the schema documents all parameters, so an agent has enough to attempt invocation. However, there is no output schema and no explanation of what cross-CCP PQD comparison produces or how to construct policy_parameters beyond an external manifest pointer, leaving domain and return semantics incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all four parameters. The description mostly restates the compute mode behavior already in the schema and refers to a 'decision function' without enumerating policy_parameters fields, so it adds limited semantics beyond the structured input definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Cross-CCP PQD Comparator' and an 'OpenChainGraph compute node (regulatory_reporting)', but it never defines what PQD fields are or what comparison semantics are performed. It is a recognizable purpose rather than a tautology, yet it does not articulate the core operation beyond the name and gives no differentiation from sibling compare_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to prefer this tool over alternatives or any mention of sibling compare/compute tools. The only usage-related content concerns compute mode selection (auto/server/browser), which is parameter behavior rather than tool-selection heuristics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_model_outcome_analysisModel Outcome-Analysis ComparisonCRead-onlyIdempotentInspect
Model Outcome-Analysis Comparison: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-450-model-inventory-entry. Output feeds: art-453-model-validation-status. Open at: https://ainumbers.co/chaingraph/art-451-model-outcome-analysis.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond annotations: it states inputs are processed transiently and not stored/logged/retained, that the node is deterministic, and that outputs are AP2 artifacts with execution_hash. It also explains compute mode behavior (server vs browser delegation). None of this contradicts the annotations (readOnly, idempotent). The extra transparency about data handling is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes tangential details such as specific URLs, an FV-status JSON path, and a note about offline verification. While informative, the prose is dense and not well front-loaded for quick scanning. Many sentences describe compute infrastructure rather than the tool's purpose, making it longer than necessary without clear prioritization.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested object, no output schema) the description is incomplete. It explains the artifact export and chain links but does not clarify what the comparison outcome represents, the content of the AP2 artifact, or the expected return structure. It also defers policy_parameters details to 'the tool's manifest', leaving a gap. The lack of an output schema makes this insufficiency more impactful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds a bit of context about compute modes (explaining 'auto'/'server'/'browser') but mostly restates what the schema already provides. It does not significantly deepen understanding of parent_hashes, parent_tool_ids, or policy_parameters beyond the schema. Thus a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (compliance_control)' and mentions it is deterministic, but it never explicitly states what the comparison does. The name implies comparing model outcome analysis, but the description focuses on compute mode mechanics, transient processing, and artifact export without clarifying the actual operation or result. It is not a tautology, but it is vague about the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance (compute modes, use synthetic inputs) but no guidance on when to use this tool versus alternatives. There is no mention of specific use cases, prerequisites, or situations in which this tool is preferred over siblings. The mentions of upstream and downstream artifacts hint at placement in a chain but do not explain when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_pension_lump_sum_annuityPension Lump-Sum vs. Annuity Decision EngineCRead-onlyIdempotentInspect
Pension Lump-Sum vs. Annuity Decision Engine: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-282-social-security-claiming-optimizer. Open at: https://ainumbers.co/chaingraph/art-283-pension-lump-sum-vs-annuity-decision-engine.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses useful behavioral traits beyond annotations: inputs are processed transiently and not stored/logged/retained, execution is deterministic, compute modes (server/browser) are explained, and an AP2 artifact with execution_hash is exported for provenance. This adds depth beyond the readOnlyHint, idempotentHint, and destructiveHint annotations, and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, dense wall of text that includes a URL, a hash, and compliance boilerplate. It front-loads the purpose but gets bogged down in low-level compute details. It lacks clear paragraph or bullet structure, making it difficult to scan for key information. Essential facts (e.g., data retention) are buried among many technical specifics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not explain what the AP2 artifact contains or what the decision result looks like (e.g., a recommendation, a comparison table, or a value). It also defers policy_parameters field names to an external manifest, leaving the agent without enough information to construct valid inputs. This is a significant gap for a tool meant to be invoked by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter. The description adds context that policy_parameters are computed server-side under certain compute modes, but it does not describe the actual decision-relevant fields ('See the tool's manifest for field names'), leaving the core input semantics undocumented. This is a minor addition over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title as 'Pension Lump-Sum vs. Annuity Decision Engine' but does not clearly state what the tool does beyond the name. It mentions a 'decision function' but never specifies that it compares lump-sum vs annuity payouts or what the decision output is. This is vague and does not distinguish it from the many other compute_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions consuming an upstream artifact from art-282-social-security-claiming-optimizer but does not explain the decision context or when to prefer this tool over other compute or decision tools. The only usage note is 'Use synthetic or anonymised inputs only,' which is a security constraint, not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_receivables_finance_economicsForfaiting vs Factoring vs Invoice Discounting EconomicsCRead-onlyIdempotentInspect
Forfaiting vs Factoring vs Invoice Discounting Economics: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-479-compare-receivables-finance-economics.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides several behavioral details beyond the annotations: it states that inputs are processed transiently and not stored, logged, or retained; it explains that by default the tool computes server-side on Cloudflare Workers, with browser delegation for gpu:true nodes; it mentions that it exports an AP2 artifact with an execution_hash for chain provenance; and it includes a fv-status link. These go beyond the readOnlyHint and idempotentHint annotations, adding transparency about execution location and data handling. However, there is a potential tension: the description says the tool is a 'compute node' that computes inputs, which contradicts the readOnlyHint (though not entirely since it is read-only in the sense of not mutating external state). The annotations indicate readOnlyHint=true, which is generally consistent with a computation that doesn't mutate state, so no clear contradiction, but the description's emphasis on deterministic computation and transient processing adds meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and mixes many technical details about the OpenChainGraph infrastructure, such as 'OpenChainGraph compute node', 'Cloudflare Workers', 'execution_hash', 'fv-status' link, and a URL. While these are relevant, they are not front-loaded with the tool's core purpose; the title is a noun phrase and the first sentence is mostly a restatement of the title followed by technical jargon. The description is also not concise: it includes redundant elaboration on compute modes that could be shorter, and it introduces many domain-specific concepts (AP2 artifact, chain provenance, fv-status) that may confuse an agent without a clear explanation of their relevance. A more structured description would lead with the comparison purpose, then the compute options, then the privacy note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description doesn't describe the return value or output artifact in enough detail beyond mentioning it exports an AP2 artifact. It also doesn't specify what the 'economics' comparison produces (e.g., a report, financial metrics, a decision). The description is complete about execution modes and data privacy, but incomplete about the actual domain logic—what inputs are needed in policy_parameters and what outputs are produced. Given the tool's complexity (it has a nested object, 4 parameters), more clarity on the decision function would improve completeness. However, the description does cover data handling and authentication-ish aspects, so it's above a 2.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes all four parameters, and the description elaborates on the compute parameter details (including defaults and behavior for gpu:false and gpu:true). For parent_hashes and parent_tool_ids, the schema already explains they are for chaining upstream artifacts, and the description doesn't need to add more. For policy_parameters, the description says 'See the tool's manifest for field names' but does not supplement with specifics; this is a gap because the schema only provides a generic description. Despite that, the description does add context on when these parameters are used (server-side when compute is auto or server), which meets the baseline. Since schema coverage is 100%, the baseline is 3, but the additional compute mode details raise it to 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's title clearly indicates it compares forfaiting, factoring, and invoice discounting economics, but the description body is heavily focused on the compute mode, privacy, and artifact export rather than explicitly stating what the tool computes or what economic analysis it performs. It mentions 'Input parameters for this tool's decision function' in the schema but the description does not describe the actual comparison logic or the kind of economic outputs. This ambiguity is compounded by a generic title and lack of detail distinguishing it from other compare_* tools in the sibling list, such as compare_basel_2023_vs_2026 or compare_corridor_cost.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the compute modes (auto, server, browser) and when browser delegation happens, which gives some guidance on execution environment. However, it does not explicitly state when to use this tool over other comparison tools, nor does it provide any typical use cases, prerequisites, or expected input scenarios. The mention of using 'synthetic or anonymised inputs only' is a form of usage guidance, but it doesn't cover the comparison use case itself. There is no guidance on what kinds of receivables or economic parameters are relevant, or how this differs from other related tools like compare_agentic_rail_protocols.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_rights_matrixCross-License Rights ComparatorCRead-onlyIdempotentInspect
Cross-License Rights Comparator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-198-cross-license-rights-comparator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive behavior. The description adds meaningful behavioral context: deterministic execution, transient input processing with no storage/logging, server-side versus browser delegation, AP2 artifact export with execution_hash, and FV-status snapshot semantics. This goes well beyond the annotations, though it still leaves the actual comparison behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and repetitive, opening with two nearly identical sentences, then layering in Cloudflare, gpu flags, browser delegation, AP2 artifacts, a URL, and an FV-status JSON path. It is operationally dense but poorly front-loaded and includes clutter that distracts from the tool's actual purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and an opaque policy_parameters object, the description omits the semantic core: what inputs represent, what comparison logic is applied, and what the returned artifact conveys beyond execution_hash. It provides provenance and privacy details but not enough to confidently know what result to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add material field-level meaning beyond the schema; policy_parameters remains an opaque object whose field names are deferred to a 'manifest'. The compute parameter semantics are restated approximately as in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mostly restates the title: 'Cross-License Rights Comparator: OpenChainGraph compute node (compliance_mandate).' It never explicitly states what comparison is performed, what a rights matrix is, or what decision the tool computes. The agent must infer purpose from the name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to choose this tool over alternatives such as check_license_compatibility, choose_cc_license, or other comparator tools. The description focuses on compute mode mechanics and privacy behavior, not on selection context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compile_model_risk_lineage_packCompile Model Risk Lineage PackARead-onlyIdempotentInspect
Compile Model Risk Lineage Pack: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-450-model-inventory-entry, art-451-model-outcome-analysis, art-453-model-validation-status, art-488-model-replication-diff, art-489-model-test-battery. Open at: https://ainumbers.co/chaingraph/art-562-compile-model-risk-lineage-pack.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral context beyond the annotations: deterministic execution, transient processing with no retention or logging, synthetic-input requirement, AP2 artifact export, execution_hash for chain top, and offline-verifiable FV status. There is no contradiction with the readOnly, buildW, or destructurable hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but contains clear redundancy: 'OpenChainGraph compute node' appears twice in the opening clauses. It also carries a long URL and FV-status JSON hash, which are useful for provenance but make the description longer than strictly activation-mostly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description provides adequate output information (AP2 artifact with artifact_hash, export details, provenance chain). It fully covers compute, inputs, upstream prerequisites, and privacy-handling constraints, but it leaves the precise response body without bogus instructions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful semantic detail for 'compute', such as Cloudflare Workers execution, registered kernels, and the gpu:true/browser rules. It does not, however, reveal the specific policy_parameters field names it says to find in the manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Compile'), a specific resource ('Model Risk Lineage Pack'), and its computational nature ('OpenChainGraph compute node'). It also names the exact upstream artifacts it consumes, which clearly differentiates it from the many sibling compile/build/lint tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives thorough compute-mode guidance (auto/server/browser, gpu:true handling) and warns to use synthetic or anonymised inputs. However, it does not explicitly state when to prefer this tool over sibling pack-building tools, nor does it give alternative tool names or clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compile_rebalance_evidence_packCompile Rebalance Evidence PackARead-onlyIdempotentInspect
Compile Rebalance Evidence Pack: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-646-compile-rebalance-evidence-pack.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash for chain provenance, and it provides a verification URL and FV-status snapshot link. This goes beyond the annotations by disclosing data handling and provenance behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the core purpose, but it includes several URLs and technical details (FV-status path, hash) that may be noise for an agent deciding whether to call the tool. The compute mode explanation is useful but could be more concise. It's not overly long, but the verification URL and FV-status details could be trimmed without losing essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, compute modes, OpenChainGraph context) and no output schema, the description covers the key aspects: what it does, how compute modes work, data handling, and provenance. It doesn't describe the return format in detail, but the AP2 artifact and execution_hash are mentioned. The FV-status link provides additional verification context. It's reasonably complete 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.
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 context about the compute parameter's default behavior and the policy_parameters being computed server-side, but it doesn't add significant meaning beyond the schema. The description mentions 'See the tool's manifest for field names' for policy_parameters, which is a pointer but not additional semantics. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Compile') and resource ('Rebalance Evidence Pack'), and identifies it as an OpenChainGraph compute node with a compliance_mandate. It distinguishes itself from siblings like build_evidence_pack and assemble_ocg_evidence_bundle by specifying the OpenChainGraph compute node context and the AP2 artifact export. However, it doesn't explicitly name a sibling alternative, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: for compiling a rebalance evidence pack as an OpenChainGraph compute node. It explains the compute modes (auto/server/browser) and when browser delegation occurs (gpu:true nodes always delegate). It doesn't explicitly state when NOT to use it or name alternatives, but the compute mode guidance is actionable usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compile_work_mandateWork Mandate CompilerARead-onlyIdempotentInspect
Work Mandate Compiler: OpenChainGraph compute node (governance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-274-compile-work-mandate.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly mentions stateless behavior: 'Inputs are processed transiently to compute the response and are not stored, logged, or retained,' and references determinism ('Deterministic OpenChainGraph compute node'). This is consistent with the readOnlyHint and idempotentHint annotations. The description adds credibility by noting 'gpu:false' vs 'gpu:true' behavior, making it clear this doesn't cause side effects beyond returning an AP2 artifact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense, unstructured, and contains crucial information in a single paragraph, including a long URL and a hash link that adds noise. Critical details like computations happening 'server-side on Cloudflare Workers' and the 'AP2 artifact' are buried between version strings and provenance hashes. This would be much easier to consume if broken into bullets or at least separate sentences emphasizing constraints and compute modes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers essential context: it mentions the AP2 artifact format, compute modes, statelessness, and restrictions on input data. It gives a link for further detail. The only gaps are not addressing response formats or error/edge cases, but given the read-only, deterministic scope, this is sufficient since the agent can call and inspect results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add meaningful details for parameters like parent_hashes or policy_parameters, and the schema's descriptions for the 'compute' parameter are sufficient. The description reinforces the 'compute' parameter's format ('compute:"auto"') but doesn't go beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'OpenChainGraph compute node (governance_mandate)' and a 'Work Mandate Compiler' with a specific verb (compile) and resource (work mandate). It distinguishes itself from siblings like build_ap2_cartmandate_hashchain by being an OpenChainGraph node, which we can infer works with the broader chain infrastructure. It could be clearer about what makes this distinct from other mandate tools, but the strong domain language helps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on when to use this tool, specifically mentioning that 'gpu:true nodes always delegate' and explaining the three compute modes (auto/server/browser). The 'Use synthetic or anonymised inputs only' instruction serves as an explicit warning, and the description clarifies this is for OpenChainGraph compute operations with an execution_hash. However, it doesn't explicitly say when NOT to use this tool or list specific alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compose_ap2_promptAP2 Prompt Template GeneratorARead-onlyIdempotentInspect
AP2 Prompt Template Generator: OpenChainGraph compute node (prompt_template). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: ALL. Open at: https://ainumbers.co/chaingraph/ptg-01-ap2-prompt-template-generator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint, idempotentHint, and destructiveHint already declared, the description productively adds verifiable operational detail: 'Deterministic,' 'Inputs are processed transiently… not stored, logged, or retained,' the browser-delegation flow, and the FV-status note ('a snapshot, not a subscription') that pre-empts a real misconception. No contradiction with the annotations. It doesn't address auth, rate limits, or failure modes, but with annotation coverage already bearing much of that load, the description adds solid incremental value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
This is a single, unbroken wall of text with no paragraph breaks or Markdown, jamming together tool scope, a configuration switch, data-handling policy, an output note, a human URL, and a long aside about FV-status receipts. The opening phrase restates the title, and multiple clauses ('for gpu:false nodes with a registered kernel') read like escapees from the schema. At least a third of the verbiage could be cut or externalized without losing signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool this intricate — compute-mode semantics, GPU delegation, policy parameters, chaining — the description covers the operational surface well: it names the output artifact and its execution_hash, explains the FV-status verification model, and even pre-empts a wrong assumption. With no output schema present, the single line on the AP2 artifact is doing a lot of work, and a one-line example or a pointer to the manifest would push this to 5, but nothing critical is missing for callers to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and the description meaningfully extends two of the four parameters: it explains the compute enum's auto/server/browser state machine in plain language, and it ties policy_parameters to 'this tool's decision function' with compute-mode modifiers. The value is uneven, though — parent_hashes and parent_tool_ids get no description-level attention — so it enriches rather than fully owns parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete subject–verb–object phrase ('AP2 Prompt Template Generator: OpenChainGraph compute node (prompt_template)') that names the resource and its action clearly, and the compute-mode details reinforce scope. It stops short of a 5 because it reads almost verbatim from the title and never differentiates itself from the large cluster of ap2_* siblings (validate_ap2_mandate_chain, correlate_ap2_cartmandate_x402, etc.) that could plausibly be confused with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through behavior — when compute defaults to auto, when browser delegation kicks in, and the gpu:true exception — and adds a useful safety directive ('Use synthetic or anonymised inputs only'). But it never explicitly routes when to choose this tool over an alternative; there is no 'use X instead when…' language. The usage guidance is implied by the compute-mode walkthrough rather than stated as decision rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compose_control_test_evidenceControl-Test Evidence ComposerBRead-onlyIdempotentInspect
Control-Test Evidence Composer: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-461-control-test-evidence-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tester_id | No | |
| control_id | No | |
| deficiency | No | |
| fail_count | No | |
| pass_count | No | |
| gate_status | No | |
| sample_size | No | |
| tester_role | No | |
| tested_count | No | |
| extra_results | No | |
| exception_rate | No | |
| exception_count | No | |
| missing_results | No | |
| population_hash | No | |
| test_conclusion | No | |
| reporting_period | No | |
| within_tolerance | No | |
| coverage_complete | No | |
| not_a_severity_judgment | No | |
| tolerable_exception_count | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description meaningfully builds on this by adding determinism, transient input processing with no storage/logging/retention, the AP2 artifact export with execution_hash for chain provenance, the Cloudflare Workers runtime, and browser-delegation behavior for gpu:true nodes. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads purpose and compute behavior before privacy and export details, which is good structure. However, it is verbose, repeats 'Deterministic OpenChainGraph compute node', and closes with two long URL strings (artifact page and FV-status receipt) that are noise for tool selection and invocation. Several sentences could be trimmed without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not required. The description covers export behavior (AP2 artifact with execution_hash), provenance chaining, compute modes, runtime, and privacy constraints. For a complex compliance compute node, this is reasonably complete—the only notable omission is any hint about what policy_parameters should contain beyond pointing to a manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does supplement the compute parameter by explaining the default 'auto' semantics (server-side on Cloudflare Workers for gpu:false nodes with registered kernel) and the delegation behavior, adding value beyond the schema. But parent_hashes, parent_tool_ids, and policy_parameters are already well documented in the schema with nothing new added from the narrative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Compose control-test evidence' as an OpenChainGraph compute node of type compliance_control). It's clearly identifiable as an evidence-production tool. However, it doesn't differentiate itself from nearby siblings like build_agent_test_evidence, build_ai_workpaper_record, or lint_aiuc1_control_evidence, so it loses a point for weak sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance relative to the many sibling evidence composers/validators. It does convey the compute-mode selection criteria (auto/server/browser, gpu:true always delegates) and a hard constraint ('Use synthetic or anonymised inputs only'), which are genuine usage directives, but there is zero guidance on which of the dozens of evidence-tool siblings to prefer or avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compose_eval_attestation_receiptEval Attestation Receipt ComposerARead-onlyIdempotentInspect
Eval Attestation Receipt Composer: OpenChainGraph compute node (governance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-438-eval-attestation-receipt-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond annotations: inputs are processed transiently and not stored/logged/retained, the tool is deterministic, and it exports an AP2 artifact. It also details compute mode behaviors (server vs browser delegation). These add substantial context beyond the readOnlyHint and idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear sentences, front-loading the purpose and compute behavior. However, it includes extra details like the URL and FV-status link that, while informative, add length. It is not excessively verbose but could be tightened without losing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers most essential operational aspects: compute modes, input privacy, deterministic behavior, artifact output, and provenance. It does not explicitly describe the output format or error conditions, but given the absence of an output schema and its detailed coverage elsewhere, it is reasonably complete for an agent to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented. The description does not add extra meaning beyond the schema; for example, the compute parameter's description in the schema already covers the same 'auto'/'server'/'browser' behavior. Therefore, the description adds no incremental value to parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: composing an eval attestation receipt as a deterministic OpenChainGraph compute node. It distinguishes itself by mentioning AP2 artifact with execution_hash for chain provenance, which is specific enough to separate it from generic compose or build tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance: 'Use synthetic or anonymised inputs only' and explains compute mode behavior, but it does not explicitly state when to use this tool versus alternatives or name sibling tools. There is no 'use this when...' or 'prefer X instead' guidance, leaving usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compose_globe_girGloBE Information Return (GIR) ComposerCRead-onlyIdempotentInspect
GloBE Information Return (GIR) Composer: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-457-globe-gir-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds significant context beyond that: 'Inputs are processed transiently to compute the response and are not stored, logged, or retained', 'Deterministic', 'Use synthetic or anonymised inputs only', and 'Exports an AP2 artifact with execution_hash for chain provenance'. It also clarifies compute behavior for gpu and server/browser nodes. This substantially informs the agent's execution expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and verbose, containing dense jargon such as 'OpenChainGraph compute node', 'AP2 artifact', 'execution_hash', 'FV-status', and an inline URL. Multiple sentences cover chain provenance and FV receipt logic that are likely not core to invoking the tool. The compute mode explanation is helpful but could be condensed; the FV-status paragraph is tangential and inflates length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the schema covers parameters and annotations provide safety, the description does not clarify what the AP2 artifact contains or how the GIR output is structured (no output schema). For an agent, it lacks a clear functional-level explanation of the composed output and its context relative to other GloBE tools. The context is heavy on chain mechanics but light on the compliance artifact itself, which given the lack of output schema, is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% coverage, including descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds no new meaning to these fields; it doesn't give examples, value ranges, or clarifications beyond what the schema provides. Hence the baseline 3 for high coverage holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'GloBE Information Return (GIR) Composer' conveys a verb ('compose') and resource ('GIR'), but the description itself never states what the tool does functionally—it introduces 'OpenChainGraph compute node' and 'deterministic' but not that it assembles a GIR. It does not distinguish itself from related tools like compute_globe_jurisdictional_etr. The purpose is inferable but not explicitly articulated, so it does not reach the specificity expected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not name any sibling or condition for selection—it only explains compute modes (auto/server/browser) and a browser delegation. No mention of scenarios where this tool is preferable over compute_globe_* or other compose tools. It also lacks prerequisites or workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compose_workpaper_bundleWorkpaper Bundle ComposerBRead-onlyIdempotentInspect
Workpaper Bundle Composer: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-462-je-ruleset-screen, art-463-recalc-suite, art-464-confirmation-matcher. Open at: https://ainumbers.co/chaingraph/art-465-workpaper-bundle-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| roles | No | |
| exceptions | No | |
| procedure_id | No | |
| exception_count | No | |
| population_hash | No | |
| kernel_artifacts | No | |
| kernel_artifact_count | No | |
| undisposed_exceptions | No | |
| disposed_exception_count | No | |
| malformed_kernel_artifacts | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds genuinely useful behavioral context beyond the annotations: inputs are processed transiently and not stored/logged/retained, compute modes (auto/server/browser) determine server-side vs browser delegation, gpu:true nodes always delegate, and the outcome is an exported AP2 artifact with execution_hash. This is consistent with the readOnlyHint, idempotentHint, and destructiveHint annotations; no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive — 'Deterministic OpenChainGraph compute node' appears twice nearly verbatim. It buries operational substance under URL, FV-status hash, and manifest references that an agent does not need for invocation. The compute-mode content is the only high-value part, yet it duplicates the input schema's own explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the return-value explanation is not required. However, for a complex compose tool, the description does not clarify what a workpaper bundle contains, what policy_parameters the decision function expects (deferred to the manifest), or how the four upstream artifact IDs relate to the parent_hashes parameter. The compute-mode and provenance coverage is good, but the core bundle semantics remain under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema descriptions are thorough, especially for compute (the compute-mode logic is fully documented in the schema) and parent_hashes/parent_tool_ids. The description mostly restates the compute-mode behavior already in the schema and defers policy_parameters field names to 'the tool's manifest,' adding no meaning beyond the schema's own documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node that composes a workpaper bundle and exports an AP2 artifact with execution_hash. The core action (compose workpaper bundle) is implied by the title and supported by the 'exports an AP2 artifact' statement, but the persistent lead-in phrase 'OpenChainGraph compute node (attestation_mandate)' is jargon that obscures rather than clarifies, and it does not clearly differentiate from many sibling compose_* tools (compose_ap2_prompt, compose_control_test_evidence, compose_globe_gir).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use, when-not-to-use, or alternative guidance. It lists consumed upstream artifacts (art-462-je-ruleset-screen, etc.) and states synthetic inputs should be used, but never tells the agent when this tool is preferable to the many sibling compose_* or compute_* tools, or which sibling would be an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_15c3_3_reserve15c3-3 Customer Reserve Formula CalculatorARead-onlyIdempotentInspect
15c3-3 Customer Reserve Formula Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-397-lint-trace-cat-reports. Open at: https://ainumbers.co/chaingraph/art-396-compute-15c3-3-reserve.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses extensive behavioral traits: determinism, compute modes (server/browser), data transience ('not stored, logged, or retained'), artifact export with execution_hash, and FV-status verification. It aligns with annotations (readOnly, idempotent) and adds valuable context beyond them. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and information-dense, but it front-loads the core purpose. However, it includes potentially extraneous details like the FV-status URL and chain provenance specifics that may not be necessary for basic invocation. It is structured but not concise; every sentence is not essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with nested objects, compute modes, and no output schema, the description covers most operational aspects: compute behavior, data handling, and artifact output. It does not describe the exact return format, but it mentions the artifact export. The policy_parameters are only referenced via the manifest, which is a gap for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter is well-explained in the schema. The tool description adds no additional parameter semantics beyond what's already in the schema, such as policy_parameters details. This meets the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The purpose is crystal clear: '15c3-3 Customer Reserve Formula Calculator' and 'OpenChainGraph compute node' that computes the response. The description states the exact resource and function, and the title mirrors it. While it doesn't explicitly name alternative tools, the specificity is sufficient to distinguish it from the many compute_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool vs alternatives. It does mention compute mode options and constraints like 'Use synthetic or anonymised inputs only', but it doesn't reference any alternative tool or condition for selection. It fails to tell the agent when this tool is the right choice over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_aca_affordability_safe_harborACA Affordability Safe-Harbor CalculatorARead-onlyIdempotentInspect
ACA Affordability Safe-Harbor Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-299-aca-esrp-exposure. Open at: https://ainumbers.co/chaingraph/art-298-aca-affordability-safe-harbor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations by explicitly stating that 'Inputs are processed transiently to compute the response and are not stored, logged, or retained,' a key behavioral detail. It also explains the deterministic nature and the export of an 'AP2 artifact with execution_hash for chain provenance,' plus the nuance about FV-status being 'a snapshot, not a subscription.' These details significantly enhance an agent's understanding of the tool's runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text that is not front-loaded with the most critical facts. It includes extraneous details such as a full URL ('Open at: https://...') and an FV-status hash, which could be moved to metadata. While every sentence adds some information, the lack of structure and inclusion of niche verification details make it less concise than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers many operational aspects: compute modes, data handling, and provenance. However, it lacks a clear statement of what the ACA affordability safe harbor calculation actually is, what specific inputs are expected in `policy_parameters`, and what the output artifact contains. It is sufficient for an agent that already knows the domain but incomplete for a general helper. The mention of 'compliance_mandate' hints at context, but more could be done.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the input schema covers 100% of parameters with descriptions, the baseline is 3. The tool description does not add meaningfully to the schema for `parent_hashes` or `parent_tool_ids`, and its explanation of `compute` mirrors the schema. It adds a minor note about `policy_parameters` referencing 'the tool's manifest,' but this is just a pointer. Overall, it neither enhances nor degrades the schema's semantic clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an 'ACA Affordability Safe-HHarbor Calculator' and a 'deterministic OpenChainGraph compute node,' establishing a specific verb-resource pair. It further distinguishes itself by noting it 'outputs' to 'art-299-aca-esrp-exposure,' making its role in the chain apparent. The name and title are specific enough to differentiate it from the numerous sibling tools, though the description could be more explicit about the calculation it performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage caution: 'Use synthetic or anonymised inputs only,' which is critical for privacy. It also explains compute modes (server/browser) and the 'compute' parameter behavior. However, it does not explicitly state when to use this tool versus an alternative or provide exclusion criteria. The guidance is mostly implicit through the description of its deterministic and transient processing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_annuityAnnuity PV / FV / Payment SolverARead-onlyIdempotentInspect
Annuity PV / FV / Payment Solver: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-327-tvm-annuity.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description adds substantial behavioral context: deterministic execution, transient processing with no storage/logging/retention, server-side vs browser delegation behavior, gpu:true delegation rules, AP2 artifact export with execution_hash, and FV-status snapshot semantics. No contradiction with the annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the core purpose, but it repeats 'OpenChainGraph compute node' twice and includes a long URL and FV-status explanation that are peripheral to tool invocation. Each sentence has some value, but the structure is heavier than it needs to be for an agent deciding whether and how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains execution mode, data handling, and provenance artifacts well, but it leaves the actual annuity parameters inside policy_parameters unresolved by pointing to an external manifest. There is no output schema, and the description does not describe the response shape or how the computed PV/FV/payment result is returned. An agent cannot reliably invoke the tool correctly from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 even though the description does little to explain individual parameter meanings. It adds some clarity around the compute parameter and states that upstream hashes are chained, but it does not enumerate the actual annuity inputs inside policy_parameters. The description mostly reinforces what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately identifies the tool as an 'Annuity PV / FV / Payment Solver', which is a specific, unambiguous verb-resource pairing. This distinguishes it from the many other compute_* siblings by exactly naming the financial domain and operation. The additional 'OpenChainGraph compute node' framing is generic but does not obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance about compute modes and data-sensitivity constraints, but it never states when to choose this tool over alternatives such as compute_npv or compare_pension_lump_sum_annuity. It does not provide exclusion criteria or selection conditions beyond domain matching. There is no explicit 'use this when...' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_asset_liability_coverageAsset/Liability CoverageCRead-onlyIdempotentInspect
Asset/Liability Coverage: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-539-asset-liability-coverage.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, non-destructive, and idempotent. The description adds significant behavioral context: compute modes (server vs. browser), transient input processing (not stored, logged, or retained), and output as an AP2 artifact with execution_hash. This goes well beyond annotations and provides useful operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and contains redundancy, such as repeating 'OpenChainGraph compute node' and including a long URL and FV-status snapshot. It is structured with details on compute modes and artifact but could be more concise. Every sentence contributes information, but the overall text is dense and could be trimmed without losing essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains compute modes, data handling, and artifact export but fails to state what the tool actually computes or what the output artifact contains beyond an execution_hash. Without an output schema, the agent is left without a clear picture of the computational result, which is a significant gap for a compute tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The tool description does not add meaning beyond the schema; it restates compute modes that are already documented in the compute parameter and mentions synthetic inputs, which is a general guideline rather than parameter-specific semantics. With high schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node for Asset/Liability Coverage and notes it is deterministic, but it never states the actual computation output (e.g., a coverage ratio or metric). 'Asset/Liability Coverage' in the title and name provides some specificity, but the description only says it is a compute node, which is generic and does not clearly differentiate it from the many other compute_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is 'Use synthetic or anonymised inputs only,' which addresses input safety but not when to choose this tool over alternatives. There is no mention of alternatives, exclusions, or context for when this specific compute node is appropriate. The description implies it is for asset/liability coverage but does not explicitly state when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_authzen_conformance_fixtureAuthzen Conformance FixtureBRead-onlyIdempotentInspect
Authzen Conformance Fixture: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-651-authzen-conformance-fixture.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| spec | No | |
| decisions | No | |
| decision_count | No | |
| all_match_expected | No | |
| all_context_invariant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent/destructive annotations: it discloses determinism, server-side execution on Cloudflare Workers, browser delegation behavior, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and an offline-verifiable FV-status snapshot. These are rich and directly useful behavioral disclosures, with no contradiction against 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized and front-loads the tool identity and determinism, but it repeats 'OpenChainGraph compute node' and duplicates compute-mode/gpu rules that already exist in the schema. The URL and FV-status details are useful but make the description denser and more redundant than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations, full schema parameter coverage, and presence of an output schema, the description covers the key operational context: execution mode, delegation, non-retention, artifact export, and verification status. The main remaining gap is the lack of a plain-language functional statement, but the operational details needed to invoke the tool correctly are largely present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline applies and the description need not compensate. It adds some execution context (gpu:false/gpu:true behavior, AP2 chaining via parent_hashes), but most compute-parameter semantics are already present in the input schema. No significant per-field meaning is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for compliance_control and labels it an Authzen Conformance Fixture, but it never states with a concrete verb what result the tool produces or what conformance question it answers. It mostly restates the tool's compute-node identity rather than giving a clear user-facing purpose, making it vague rather than strongly differentiated from sibling compute tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over alternatives, despite a very large sibling list. The compute-mode prose explains execution behavior ('auto'/'server'/'browser') and 'Use synthetic or anonymised inputs only' is a useful constraint, but it does not provide when-to-use or when-not-to-use guidance relative to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_basel31_deltaBasel 3.1 Reporting Delta CalculatorARead-onlyIdempotentInspect
Basel 3.1 Reporting Delta Calculator: OpenChainGraph compute node (capital_assessment). Regulatory deadline: 2027-01-01 (UK PRA PS1/26 Basel 3.1 go-live — January 1, 2027). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: sim-03-basel-rwa-scenario-modeler, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-07-basel31-reporting-delta-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially exceeds the annotations by disclosing deterministic execution, server-side Cloudflare Workers behavior, browser-delegation semantics, transient input processing with no retention, synthetic/anonymised input constraints, AP2 artifact export, and execution_hash provenance. This gives an agent a strong operational model beyond the readOnly/idempotent/destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loaded with purpose and compute semantics, but it is quite long and includes auxiliary material such as the Open URL and FV-status snapshot details that are not necessary for correct invocation. A more scannable structure with separate operational, data-handling, and provenance sections would improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with nested parameters and no output schema, the description covers execution location, compute-mode selection, data retention, output artifact shape, and downstream consumers. It does not describe the exact response format or resolve the policy_parameters field-name ambiguity, but it communicates enough for an agent to invoke the tool and interpret the core behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all parameters, so the baseline is 3, but the description adds meaningful context by explaining compute mode behavior, gpu:true delegation rules, chain provenance via execution_hash, and the fact that policy_parameters may be computed server-side. The only notable gap is that actual policy_parameters field names are deferred to a manifest, not stated inline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and first line identify a Basel 3.1 reporting delta calculator and an OpenChainGraph compute node in the capital_assessment cluster, so an agent can distinguish it from unrelated compute tools. It does not, however, state with a precise verb what 'delta' is computed between (e.g., before/after Basel 3.1, actual vs expected RWA), which leaves some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains operational mechanics such as compute modes and synthetic-input requirements, but provides no explicit guidance on when to choose this tool over siblings like compare_basel_2023_vs_2026 or compute_rwa_erba_2026. There is no 'use this when' or 'prefer X instead' statement, so the agent must infer the tool's applicability from its name and output feeds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_basel_haircut_adjusted_exposureCollateral Haircut Engine (Basel CRE22)ARead-onlyIdempotentInspect
Collateral Haircut Engine (Basel CRE22): OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-444-collateral-haircut-engine.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash for chain provenance, and it provides a verification URL and FV-status receipt. This goes beyond annotations by disclosing data handling and provenance behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the tool's identity and compute behavior, but it includes several URLs and a long FV-status receipt string that may be noise for an agent deciding whether to call the tool. The core compute-mode explanation is useful, but the provenance/verification details could be trimmed or moved to a separate field. It's not overly long, but the structure mixes operational guidance with provenance metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, compute modes) and the absence of an output schema, the description covers the key operational aspects: compute modes, data handling, provenance export, and verification. It doesn't explain the return format (browser delegation URL vs computed result) in detail, but the compute mode explanation implies it. The description is reasonably complete for an agent to call it correctly, though the policy_parameters field names are deferred to a manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about the 'compute' parameter's behavior (auto/server/browser) and mentions that policy_parameters are computed server-side when applicable, but it doesn't add meaning beyond what the schema provides. The description says 'See the tool's manifest for field names' for policy_parameters, which is a pointer rather than added semantics. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('compute') and resource ('Basel CRE22 collateral haircut adjusted exposure'), and identifies it as an OpenChainGraph compute node for regulatory reporting. It distinguishes itself from siblings like compute_repo_haircut and compute_stock_token_collateral_haircut by naming the Basel CRE22 standard. However, it doesn't explicitly name a sibling alternative, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes ('auto', 'browser', 'gpu:true') and when server-side vs client-side execution occurs, which is useful context. But it doesn't state when to use this tool versus alternatives like compute_repo_haircut or compute_stock_token_collateral_haircut, nor does it mention prerequisites like needing upstream AP2 artifacts. The usage guidance is implied through the compute mode explanation but lacks explicit 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.
compute_bond_durationBond Macaulay / Modified DurationBRead-onlyIdempotentInspect
Bond Macaulay / Modified Duration: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-330-tvm-dv01, art-331-tvm-convexity. Open at: https://ainumbers.co/chaingraph/art-329-tvm-bond-duration.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it states the node is deterministic, explains compute:'auto'/'server'/'browser' behavior and gpu:true delegation, discloses that inputs are transient and not stored/logged/retained, warns to use synthetic or anonymised inputs, and describes the AP2 artifact with execution_hash and FV-status snapshot semantics. Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial operational context without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description packs valuable operational and provenance details, but it contains redundancy: 'OpenChainGraph compute node' appears in both the opening label and the second sentence, and the FV-status block is dense. It is front-loaded with the title restatement rather than an action statement, though most remaining sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the description does not specify what the returned AP2 artifact contains besides an execution_hash, nor the required bond parameters (coupon, maturity, yield, etc.) that should go in policy_parameters. For a complex compute tool with an opaque nested parameter object, this leaves a significant gap; the URL and FV-status provide provenance but not calculation semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains compute, parent_hashes, parent_tool_ids, and policy_parameters. The description does not add details about policy_parameters field names or input values, deferring to 'the tool's manifest'; the baseline 3 applies because the schema carries the documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening label identify the resource ('Bond Macaulay / Modified Duration') and call it a 'deterministic OpenChainGraph compute node', so an agent can infer it computes bond duration. However, the description never states the action explicitly (e.g., 'calculates Macaulay and modified duration') and is largely a restatement of the title plus ecosystem metadata, with no differentiation from sibling compute tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or comparison to alternatives. The only context hints are that it is an 'analytics_mandate' node and that its output feeds art-330-tvm-dv01 and art-331-tvm-convexity, which imply downstream use but do not tell an agent when to select this tool over compute_dv01 or compute_convexity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_breakevenBreakeven / CVP AnalysisCRead-onlyIdempotentInspect
Breakeven / CVP Analysis: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-328-tvm-breakeven.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, the description adds valuable non-obvious behaviors: it specifies that inputs are processed transiently and not stored/logged, that compute:'browser' returns a browser delegation URL, and that gpu:true nodes always delegate to the browser. It also mentions deterministic execution and the AP2 artifact export with execution_hash for provenance. These go beyond what annotations capture, enhancing transparency without contradicting the hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and densely packed with jargon, URLs, and provenance details (e.g., FV-status snapshot, hash links). It starts with redundant phrasing ('Breakeven / CVP Analysis: OpenChainGraph compute node' and later 'Deterministic OpenChainGraph compute node'). While it front-loads the purpose, it spends many sentences on execution modes and verification receipts that are tangential to selecting and invoking the tool. The structure could be tightened significantly to improve clarity for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (one an open object), no output schema, and a novel execution model, the description is incomplete. It explains compute modes and provenance but does not describe what the tool actually computes (e.g., the breakeven formula, required inputs like fixed costs, variable costs, price) or what the output artifact contains. It defers policy_parameters fields to an external manifest, leaving an agent guessing. The lack of functional context and output specification makes this insufficient for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all parameters have descriptions), so the baseline is 3. The description does not add additional meaning to the parameters; it repeats the compute-mode behavior already in the schema's compute description. However, it does not clarify the policy_parameters object fields (leaving 'See the tool's manifest'), which is a gap, but since the schema description exists, the description's contribution is neutral. It neither improves nor detracts from the schema's guidance, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Breakeven / CVP Analysis: OpenChainGraph compute node', which names the resource and verb, and the title reinforces it. However, it does not explain what the computation actually does (e.g., calculates the break-even point from given costs and prices) beyond the name. It distinguishes from siblings like compute_npv by naming the specific analysis type, but the description itself lacks functional detail. This is a clear but shallow statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It only describes compute modes (auto/server/browser) and provenance details, which are execution mechanics, not usage context. There is no mention of typical use cases, prerequisites, or when not to use it. This leaves an agent to infer that it is for breakeven analysis solely from the name, with no explicit routing against the many sibling compute tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_canton_app_reward_estimateCanton App-Reward Estimator (CIP-0104)BRead-onlyIdempotentInspect
Canton App-Reward Estimator (CIP-0104): OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-392-compute-canton-app-reward-estimate.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent), the description discloses that inputs are processed transiently, not stored/logged, and recommends synthetic data. It also mentions deterministic behavior and provenance via execution_hash. This adds significant transparency, though it doesn't cover failure modes or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, e.g., 'OpenChainGraph compute node' appears twice, and 'Deterministic' is reiterated. It mixes behavior details, parameter hints, and provenance info in a way that doesn't earn each sentence's place. A more streamlined version would be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives context about compute modes and data handling but leaves gaps: it doesn't define the output format (no output schema) or specify the exact fields of policy_parameters (referring to the manifest). While the schema covers parameter types, the overall purpose and expected result are not fully explained, making it moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides detailed descriptions for all parameters (compute mode, parent_hashes, parent_tool_ids, policy_parameters), and the description largely reiterates this info. It adds minor context about server-side computation for gpu:false nodes, but no substantial new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes Canton app reward estimates under CIP-0104 as an OpenChainGraph compute node, giving a specific verb and resource. However, it relies on jargon like 'analytics_mandate' and 'AP2 artifact' that may obscure the exact output, so it's not a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how compute modes work but does not specify when to prefer this tool over alternatives or provide usage scenarios. It lacks explicit guidance on selection criteria, making it hard for an agent to know when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_canton_traffic_costCanton Synchronizer Traffic-Cost CalculatorARead-onlyIdempotentInspect
Canton Synchronizer Traffic-Cost Calculator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-391-compute-canton-traffic-cost.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several important behaviors: determinism, transient input processing ('not stored, logged, or retained'), export of an 'AP2 artifact with execution_hash for chain provenance,' and that the server-side computation requires 'a registered kernel.' It also notes that gpu:true nodes always delegate to browser. Annotations (readOnlyHint, idempotentHint, destructiveHint false) are consistent with these disclosures. The description adds specificity (e.g., the FV-status receipt URL, browser delegation URL behavior) beyond annotations, though it doesn't fully explain the return value structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long and includes several dense technical details (execution_hash, FV-status URL, AP2 artifact) that appear somewhat tangential to a basic tool selector. It front-loads the compute-mode explanation, but the trailing references to OpenGraph artifacts and the FV-status receipt are not clearly motivated for the agent. Some sentences could be condensed without losing essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested object, no output schema), the description covers important execution semantics but leaves significant gaps: the actual traffic-cost computation logic, the meaning and structure of `policy_parameters` (relegated to an external manifest), and a clear description of the return value. The lack of an output schema increases the burden on the description, which it partially meets but does not satisfy fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage of parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) with descriptive text for each. The description adds context on the compute parameter semantics but otherwise offers no extra parameter guidance. The 'policy_parameters' field remains opaque in the schema ('See the tool's manifest for field names'), and the description does not clarify this, so agents may not know what to pass. The description meets the baseline but doesn't compensate for the untracked 'policy_parameters' fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Canton Synchronizer Traffic-Cost Calculator' that functions as an 'OpenChainGraph compute node (analytics_mandate).' It states it computes traffic costs and is deterministic. However, it doesn't explicitly state what 'traffic cost' means or what the inputs/outputs are, making the core computation somewhat opaque. It distinguishes itself from other compute_* siblings (e.g., compute_canton_app_reward_estimate) by name but not by substantive behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes (auto/server/browser) and their execution contexts (server-side on Cloudflare Workers for gpu:false; browser delegation for gpu:true), which implies when the tool would be used. It explicitly warns to 'Use synthetic or anonymised inputs only,' providing a usage constraint. However, it doesn't compare with sibling tools or specify scenarios for choosing this over alternatives, leaving the 'when to use' guidance incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_cdd_ownership_25pctFinCEN CDD 25% Beneficial Ownership AttributionARead-onlyIdempotentInspect
FinCEN CDD 25% Beneficial Ownership Attribution: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-269-validate-w8-series-structural. Open at: https://ainumbers.co/chaingraph/art-268-compute-cdd-ownership-25pct.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true, idempotentHint=true, and destructiveHint=false, the description goes beyond by explaining the transient processing (no storage/logging/retention), the compute modes (server vs browser), and the artifact export with execution_hash. It also warns to use synthetic/anonymised inputs, which is a valuable privacy disclosure. The description adds useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured, front-loading the key purpose and operation. It contains some redundancy (e.g., repeating 'deterministic' and 'OpenChainGraph compute node'), but each sentence provides additional valuable information. It's longer than necessary but earns its length with operational details and links.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, but the description explains the output (AP2 artifact with execution_hash) and how to access the node's page. With 4 parameters, a nested object, and the complexity of compute modes, the description covers the operational aspects thoroughly. It could mention the specific fields in policy_parameters, but the schema already points to the tool's manifest. Overall, it's sufficient 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.
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. However, the description adds value by explaining the compute parameter's effects (server-side vs browser delegation) and noting that policy_parameters are computed server-side when applicable. It also clarifies that parent_hashes and parent_tool_ids chain from upstream artifacts. This goes beyond the schema by providing context on how parameters interact and their role in the chain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the tool as a compute node for FinCEN CDD 25% beneficial ownership attribution, but it does not explicitly state the core function of computing the attribution. The title and name convey the purpose, and the description adds operational details, but the primary action (computing 25% ownership) is inferred rather than directly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use server vs browser compute modes and mentions the output feed (art-269-validate-w8-series-structural). However, it doesn't explicitly contrast with sibling tools like compute_ownership_50pct or aggregate_ownership_50pct, nor does it specify when this tool is preferred over alternatives. The direct references to output and compliance mandate provide context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_cfpb_1071_coverageCFPB 1071 Coverage Check & SBLAR Record ValidatorARead-onlyIdempotentInspect
CFPB 1071 Coverage Check & SBLAR Record Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-475-cfpb-1071-coverage-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses determinism, transient processing, no storage/logging/retention, AP2 artifact export with execution_hash, and browser-delegation behavior—none of which is in the annotations. This substantially exceeds the readOnly/idempotent/destructive hints and gives an agent a clear safety and privacy model. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is roughly 150 words and repeats 'OpenChainGraph compute node' back-to-back, and devotes a full sentence to FV-status snapshot semantics that do not help invocation. Useful facts such as privacy, compute modes, and artifact export are buried among boilerplate. It would score higher if trimmed to operational essentials.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and an opaque policy_parameters object, the description fails to specify what fields to pass or what the response/artifact contains beyond execution_hash. It provides strong operational context but not enough for an agent to construct a valid request or interpret the result. The 'see manifest' pointer is incomplete because the manifest is not included in the tool definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly repeats the compute enum semantics and does not add new meaning for parent_hashes or parent_tool_ids. For policy_parameters, the core decision input, it defers to 'the tool's manifest' rather than naming the required fields, which is a real gap. Net value over the schema is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify a specific regulatory object (CFPB 1071 coverage, SBLAR records) and a compute/validation role, so an agent can tell this is a compliance computation rather than a generic chain tool. However, the body never states what coverage/validation means or what question it answers, and it does not differentiate itself from sibling compute/check/validate tools. High-level purpose is clear, but operational purpose is under-specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear invocation context: default server-side compute, browser delegation for compute:"browser", gpu:true always delegating, and a hard constraint to use synthetic or anonymised inputs only. It does not say when to prefer this tool over alternatives or when not to use it, and the compute-mode guidance is mostly about how to run rather than whether to run. Usage is partially guided but tool-selection context is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_convexityBond ConvexityBRead-onlyIdempotentInspect
Bond Convexity: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-329-tvm-bond-duration. Open at: https://ainumbers.co/chaingraph/art-331-tvm-convexity.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This is a strong disclosure even beyond the annotations: it explains compute routing (server vs. browser delegation), determinism, transient input handling, no retention/logging/storage, and provenance via execution_hash and AP2 artifacts. It also clarifies that FV-status is a snapshot, not a subscription, which reduces the agent's uncertainty about external state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative but somewhat bloated and repetitive: 'Bond Convexity: OpenChainGraph compute node' is followed by 'Deterministic OpenChainGraph compute node,' repeating the compute-node framing. Useful runtime details are buried in a long paragraph with URLs and provenance receipts rather than being tightly front-loaded with a clear one-sentence operation summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers runtime modes, privacy, provenance, and dependencies, which are genuinely important for safe invocation. However, it lacks a clear statement of what the output value represents, and the policy_parameters fields 'for this tool's decision function' are delegated to a manifest, leaving a meaningful gap for agents that must construct input parameters without extra context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description is not expected to re-document parameters. It adds no meaningful parameter-level meaning beyond the schema; the compute-mode explanation mostly repeats the schema's descriptions, and 'policy_parameters' is still left to a manifest lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies 'Bond Convexity' and classifies it as an OpenChainGraph compute node, but never directly states that the tool calculates/returns bond convexity. It relies on the title/name more than an explicit, actionable verb-plus-resource statement, and it doesn't clearly differentiate itself from sibling compute tools beyond naming an upstream duration artifact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to choose this tool over alternatives. The mention of consuming the upstream duration artifact hints at a chaining prerequisite, and 'Use synthetic or anonymised inputs only' is a constraint, but no when-to-use/when-not-to-use or sibling-alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_counterparty_limit_checkCounterparty Internal Limit CheckBRead-onlyIdempotentInspect
Counterparty Internal Limit Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-446-counterparty-internal-limit-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond the readOnly/idempotent/destructive annotations by disclosing determinism, transient non-retained processing, browser-vs-server delegation behavior, AP2 artifact export with execution_hash, and the FV-status snapshot verification model. These behavioral details are genuinely useful and not present 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, dense paragraph with repetition ('OpenChainGraph compute node' appears twice) and includes provenance URLs that are not essential for tool invocation. The core functional purpose is buried under compute-mode plumbing, and the text is not well front-loaded for an agent scanning for what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description never explains what the counterparty internal limit check returns or what policy_parameters fields are expected. Compute behavior and data handling are covered thoroughly, but the actual decision semantics and output format are missing, leaving an agent unable to fully understand the call without external manifest access.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description's compute-mode explanation is useful but largely duplicates the schema's own descriptions. The policy_parameters field remains opaque, pointing to 'the tool's manifest' without providing one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the domain ('Counterparty Internal Limit Check') and identifies it as an 'OpenChainGraph compute node (compliance_mandate)', but it never states in verb form what the tool actually computes or returns. It repeatedly names the tool's class rather than its function, and 'decision function' is referenced without explaining what decision is made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is solid invocation-level guidance: compute:'auto' runs server-side, compute:'browser' returns a delegation URL, gpu:true always delegates, and only synthetic/anonymised inputs should be used. However, it does not say when to choose this tool over the many sibling check/compute tools, so the when-to-use dimension is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_cross_border_feesCross-Border B2B Fee CalculatorBRead-onlyIdempotentInspect
Cross-Border B2B Fee Calculator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-367-compute-cross-border-fees.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond the annotations: it states determinism, transient processing (inputs not stored/logged/retained), compute mode semantics (auto/server/browser, gpu delegation), and the AP2 artifact output with execution_hash. It also warns to use synthetic or anonymised inputs, which is important privacy-related behavioral guidance. There is no contradiction with annotations (readOnlyHint, idempotentHint, destructiveHint). The only minor gap is not detailing the response format beyond the artifact, but the description carries a heavy burden and handles it well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and not front-loaded. It opens with a title, then repeats 'OpenChainGraph compute node' twice, and includes a long URL and FV-status hash that are tangential to selecting and invoking the tool. The compute mode explanation duplicates the schema's own description. Important fee-relevant information (what parameters to pass) is buried or absent. It could be trimmed to two or three focused sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested `policy_parameters` object of arbitrary fields, the description should explain what the calculator expects and returns, but it only mentions 'AP2 artifact with execution_hash for chain provenance' as the output. It never describes the actual fee calculation inputs or the result format. It relies on an external manifest ('See the tool's manifest for field names'), which is not self-contained. The compute mechanics are covered but the domain-specific fee logic is missing, leaving an agent unable to know what values to provide or what to expect beyond a provenance artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description mostly reiterates what is already in the schema (e.g., compute modes, policy_parameters as decision function input). It adds only marginal value by mentioning that inputs are processed transiently and that policy_parameters is calculated server-side for gpu:false nodes, which is already in the schema. It does not define the actual fee-related fields, pointing to a manifest instead. Given full schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence clearly state the verb 'compute' and resource 'cross-border B2B fees', so an agent can tell it computes fees. However, the description is dominated by OpenChainGraph compute mechanics (server vs browser execution, provenance) and never explains what the fee input/output structure is. It also does not explicitly differentiate from siblings like compare_corridor_cost or model_stablecoin_corridor_economics, though the name is self-explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool instead of alternatives. It mentions 'Use synthetic or anonymised inputs only' and describes compute modes, but these are constraints, not selection criteria. There is no statement of prerequisites, exclusions, or when another tool would be more appropriate. An agent would have to infer that this is for computing cross-border B2B fees and use other compute_ tools for different calculations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_custody_segregation_ratioCustody Segregation RatioARead-onlyIdempotentInspect
Custody Segregation Ratio: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-538-custody-segregation-ratio.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| status | No | |
| formula | No | |
| line_items | No | |
| segregation_ratio | No | |
| total_claims_musd | No | |
| total_segregated_musd | No | |
| over_segregation_ceiling | No | |
| custody_location_breakdown | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: deterministic execution, transient processing with no storage/logging/retention, server-side Cloudflare Workers execution, browser delegation behavior, gpu:true delegation, AP2 artifact export with execution_hash, and the FV-status snapshot semantics. It also explicitly warns to use synthetic or anonymised inputs only. This exceeds what readOnlyHint, idempotentHint, and destructiveHint already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than typical but each sentence carries meaningful information: compute modes, location of execution, privacy behavior, artifact output, provenance, and verification status. It is front-loaded with the core identity and then efficient supporting details. Minor redundancy exists with 'OpenChainGraph compute node' appearing twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, 0 required parameters, full schema coverage, annotations, and an output schema, the description provides a strong operational picture: execution semantics, data handling, artifact generation, and chain provenance. It does not define the custody segregation ratio formula or enumerate policy_parameters fields, but these are deferred to the manifest and the agent can invoke with zero required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly restates the compute-mode behavior already present in the compute enum and mentions parent_hashes chaining, without adding significant semantic value. It also refers policy_parameters to an external manifest for field names, which is a modest gap but not the description's responsibility given the schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and function: computing a Custody Segregation Ratio as an OpenChainGraph compliance_control node. It is more than a tautology and is distinguishable from the many compute_* siblings by naming the exact ratio and its compliance context. However, it never states what the ratio measures or what computation is performed, leaving some inference to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute-mode behavior ('auto', 'server', 'browser') and when server-side vs browser delegation occurs, but this is parameter-level guidance, not tool-selection guidance. It does not say when to use this tool versus alternative custody or segregation tools, and no sibling alternatives are named. An agent would not know from the description when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_cyber_incident_notification_clockCyber Incident Notification ClockBRead-onlyIdempotentInspect
Cyber Incident Notification Clock: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-428-cyber-incident-clock.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses determinism, transient input processing, no storage/logging/retention, server-side vs browser delegation, gpu:true behavior, AP2 execution_hash export, and the FV-status snapshot nuance. This is exactly the behavioral context an agent cannot get from the input schema or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but redundant: 'OpenChainGraph compute' at the start is largely repeated in the next sentence. Most content is useful for operational understanding, but the duplicates and heavy jargon make the text heavier than minimally necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the one substantive input object, policy_parameters, has no defined fields in either the schema or the description. The description explains execution mechanics and provenance well, but it leaves an agent unclear about what answer the clock computes, what policy fields to supply, and what the AP2 artifact actually returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters, leaving the description no obligation to repeat field names. The description does add meaningful context about compute-mode behavior and server-side policy computation, but it still defers the actual policy_parameters fields to a manifest rather than defining them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence identify the resource ('Cyber Incident Notification Clock') and position it as a compute operation, so it is not a tautology. But the body describes an 'OpenChainGraph compute node' and 'attestation_mandate' rather than plainly stating what it calculates, and no distinction is made from similar clock/deadline tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives operational guidance: 'Use synthetic or anonymised inputs only' and explains the compute default and browser/server delegation modes. However, it never says when to use this tool over alternatives such as classify_dora_ict_incident_and_clock_deadlines, so selection guidance 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.
compute_deterministic_amortization_scheduleDeterministic Amortization ScheduleCRead-onlyIdempotentInspect
Deterministic Amortization Schedule: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-626-deterministic-amortization-schedule.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| bounds | No | |
| schedule | No | |
| convention | No | |
| final_plug | No | |
| rate_solve | No | |
| remeasurement | No | |
| rounding_steps | No | |
| day_count_source | No | |
| periods_per_year | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already indicating readOnly and idempotent, the description adds valuable behavior: inputs are processed transiently and not stored, logged, or retained; it exports an AP2 artifact with an execution_hash; and it explains delegation behavior for gpu:true nodes. These details go beyond the annotations and give the agent a clearer picture of side effects and trust model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, opening with 'Deterministic Amortization Schedule: OpenChainGraph compute node (compliance_mandate).' and then repeating 'Deterministic OpenChainGraph compute node.' It includes a lengthy paragraph about FV-status and a URL that are not essential for invoking the tool. The structure buries the key compute-mode explanation among operational details, making it unwieldy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits the core purpose—what inputs constitute the amortization schedule and how outputs are structured—only pointing to 'the tool's manifest' for field names. While an output schema exists, the description doesn't clarify the decision logic or prerequisites. For a tool with nested objects and four optional parameters, this is insufficient for an agent to confidently assemble a call without external lookups.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents all parameters with descriptions, and the description restates the compute enum behavior without adding new meaning. It does clarify that 'auto' is the default and that policy_parameters are computed server-side, but this is largely redundant with the schema. Since schema coverage is 100%, the description adds minimal extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as a 'Deterministic Amortization Schedule' and a compute node, but doesn't state what it actually computes or what inputs it expects. It focuses on infrastructure mechanics (compute modes, chain provenance) rather than the core function, making it vague without a clear verb or resource description. It also doesn't differentiate from siblings like build_amortization_schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a warning to use synthetic/anonymised inputs and explains compute mode options (auto/server/browser), but gives no guidance on when to choose this tool over alternative amortization tools. It lacks explicit context about the intended use case or exclusions, leaving the agent to infer when this is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_discount_window_capacityDiscount Window Borrowing-Capacity CalculatorARead-onlyIdempotentInspect
Discount Window Borrowing-Capacity Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-427-discount-window-capacity.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses deterministic execution, transient input handling with no storage/logging/retention, browser delegation behavior for gpu:true nodes, and AP2 artifact export with an execution_hash for provenance. These are meaningful and non-obvious behaviors. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description carries substantial useful detail and is mostly front-loaded, but it repeats 'OpenChainGraph compute node' and appends URL/FV-status metadata that is not essential for invocation. It is acceptable but not tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers execution, privacy, provenance, and artifact handling well, but it leaves the actual `policy_parameters` structure unresolved by deferring to 'the tool's manifest', and with no output schema it still does not clearly state the returned payload shape. An agent can safely invoke it but may not know how to construct a meaningful computation input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters themselves are already documented. The description adds useful context for the compute parameter (auto/server/browser behavior) but does not meaningfully explain policy_parameters, parent_hashes, or parent_tool_ids beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description and title clearly identify this as a Discount Window Borrowing-Capacity Calculator and an OpenChainGraph compute node, so the basic action and domain are recognizable. It does not, however, say exactly what the computed output represents or how it differs from other compute_* sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides useful execution guidance: default 'auto' server-side compute, when 'browser' is used, and the requirement to use synthetic or anonymised inputs only. It does not give when-to-use vs alternatives or when-not-to-use conditions, leaving domain-level selection largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_disparity_metricsCompute Disparate Impact MetricsARead-onlyIdempotentInspect
Compute Disparate Impact Metrics: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-230-compute-hmda-rate-spread. Open at: https://ainumbers.co/chaingraph/art-229-compute-disparity-metrics.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses deterministic execution, server-side Cloudflare Workers vs client-side browser delegation, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and FV-status snapshot semantics. This is rich behavioral context that materially helps an agent understand side effects and trust properties.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and compute behavior, which is good. However, it is a single dense paragraph that mixes selection-critical information with URLs, an FV-status hash, and a 'snapshot, not a subscription' explanation, which adds clutter for an agent selecting and invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the tool returns; it only states that browser mode returns a delegation URL and that an AP2 artifact with execution_hash is exported, without explaining how metric results are packaged. It also delegates policy_parameters field names to an external manifest, leaving a key invocation detail unresolved. Despite this, compute modes, privacy behavior, and the upstream dependency are well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 reinforces compute mode intent and the role of policy_parameters, but it does not enumerate the actual decision-function field names and instead defers to 'the tool's manifest'. It adds only marginal meaning beyond what the input schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific action 'Compute Disparate Impact Metrics' and identifies the tool as a deterministic OpenChainGraph compute node under a compliance_mandate. It also names the upstream artifact art-230-compute-hmda-rate-spread, which provides differentiation from sibling compute tools, though it does not explicitly state which sibling it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete operating guidance: compute mode behavior (auto/server/browser), gpu:true delegation, and the explicit instruction to use synthetic or anonymised inputs only. However, it does not state when to use this tool instead of sibling compute tools, nor does it list exclusions or clear alternative routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_dora_roi_gleif_preflight_packDora Roi Gleif Preflight PackBRead-onlyIdempotentInspect
Dora Roi Gleif Preflight Pack: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-466-dora-roi-builder, art-599-gleif-snapshot-digest, art-600-lei-relationship-consistency. Open at: https://ainumbers.co/chaingraph/art-601-dora-roi-gleif-preflight-pack.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description significantly exceeds the annotations. It discloses that the tool is deterministic, processes inputs transiently without storage/logging, explains the compute modes (server/browser delegation), and notes it exports an AP2 artifact with execution_hash. These details are absent from the annotations (readOnly, idempotent, non-destructive) and add valuable behavioral context. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph with useful information (compute modes, transient processing, URL, FV-status), but it repeats 'OpenChainGraph compute node' and includes extra provenance/receipt details that are tangential for calling the tool. It is structured with logical order (purpose, compute modes, processing guarantees, artifact export, provenance), but it is longer than necessary and has redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description covers the essential operational aspects: compute modes, input processing, artifact output, upstream artifact IDs, and even a URL and FV-status receipt. It does not detail the output artifact's structure beyond execution_hash, but given the rich parameter schema and the mention of AP2 artifacts, this is adequate. The description is sufficiently complete for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already defines each parameter clearly. The description adds minimal extra meaning: it references 'policy_parameters' as inputs for the decision function and mentions the manifest for field names, which is also in the schema. Since the schema is fully descriptive, the baseline of 3 is appropriate; the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as 'Dora Roi Gleif Preflight Pack: OpenChainGraph compute node (compliance_control)' and mentions it consumes upstream artifacts and exports an AP2 artifact, but it never states what the preflight pack actually contains or accomplishes (e.g., a compliance check on DORA/ROI/GLEIF data). The verb 'compute' is in the name, and the description focuses on compute mechanics rather than the business outcome, making the purpose fuzzy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It explains compute modes and advises using synthetic/anonymised inputs, but does not mention any sibling tools, exclusions, or scenarios that would select this tool over others. The only usage constraint is the synthetic-input warning, which is about input suitability, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_dscrDSCR & Interest Coverage Ratio CalculatorARead-onlyIdempotentInspect
DSCR & Interest Coverage Ratio Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-363-compute-dscr.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent, non-destructive), the description discloses determinism, transient processing without storage, requirement to use synthetic/anonymized inputs, artifact export with execution_hash, and browser delegation behavior. This gives a thorough picture of side effects and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and including extraneous URLs and receipt metadata. The core purpose is stated early, but the excess detail harms clarity and conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, input safety, artifact export, and provenance, which is adequate for the tool's complexity. However, it omits any explanation of the expected output format (though no output schema is provided) and doesn't clarify the policy_parameters field structure beyond referencing the manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a description. The description adds context about how compute modes map to server/browser execution and mentions chaining via parent_hashes, but it does not significantly augment the parameter details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool computes DSCR and interest coverage ratio, and frames it as an OpenChainGraph compute node for compliance mandates. It is easily distinguished from sibling compute_* tools by its specific purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute mode behavior (server/browser) and when browser delegation occurs (gpu:true nodes), but it does not explicitly state when to use this tool versus alternative calculators or how to decide among compute modes for typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_dti_ratiosDTI Ratio CalculatorCRead-onlyIdempotentInspect
DTI Ratio Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-222-agency-eligibility-matrix. Open at: https://ainumbers.co/chaingraph/art-335-compute-dti-ratios.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides substantial behavioral detail beyond annotations: it declares determinism, explains server-side vs browser delegation, says inputs are transiently processed and not stored/logged/retained, and notes the exported AP2 artifact and execution_hash. It also flags FV-status as a snapshot rather than a subscription, which helps the agent reason about provenance and trust freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text with redundant phrases and 'OpenGraphChain compute node' repeated almost immediately. It includes statements about a URL and FV-status path/hash that are not relevant for selecting or invoking the tool correctly, making it less efficiently structured than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich compute-mode and provenance information, the core domain logic is missing: there is no description of what DTI ratio means, what policy_parameters actually contain, or what the computed output shape looks like. Since there is no output schema, this omission leaves the agent unable determine the essential output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so this dimension's baseline is met. The description itself adds little parameter-specific information beyond what the schema already provides, and 'policy_parameters' remains opaque because the actual decision-function fields are only deferred to an out-of-band manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mostly repeats the title as 'DTI Ratio Calculator' and adds generic 'OpenChainGraph compute node' phrases, but never states that the tool calculates debt-to-income ratios or what domain inputs/outputs are involved. No formula, definition, or expected result is provided, so the agent must guess the actual function from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives applicable usage constraints such as 'Use synthetic or anonymised inputs only' and describes compute mode behavior, which is useful context. However, it does not explicitly state when to prefer this tool over alternatives like compute_ltv_ratios or compute_dscr; the target use is only implied by metadata like 'compliance_mandate' and the downstream feed reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_dv01Bond DV01 (Price Value of a Basis Point)BRead-onlyIdempotentInspect
Bond DV01 (Price Value of a Basis Point): OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-329-tvm-bond-duration. Open at: https://ainumbers.co/chaingraph/art-330-tvm-dv01.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Well beyond the annotations' safety profile (readOnlyHint, idempotentHint, destructiveHint:false), the description discloses determinism, transient processing with inputs 'not stored, logged, or retained,' AP2 artifact export carrying an execution_hash for chain provenance, the upstream dependency on art-329-tvm-bond-duration, and the FV-status verification snapshot. No statement contradicts the annotations; the idempotent and read-only hints are consistent with the deterministic, transient-processing claims.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loads the core identity and compute-mode behavior, but its opening pair of clauses is redundant: 'OpenChainGraph compute node (analytics_mandate)' is essentially repeated in the next sentence, 'Deterministic OpenChainGraph compute node.' The tail with the full FV-status hash URL is operational noise that an agent is unlikely to act on and could be trimmed or relocated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema tool with a nested policy_parameters object, the description is strong on execution and provenance context: compute modes, transient data handling, artifact export, upstream artifact chaining, and verification receipt. The material gap is invocation — an agent still cannot know what fields to place inside policy_parameters to compute a DV01 (price, yield, notional, settlement conventions), because that is deferred to an external manifest, and the response body beyond 'AP2 artifact with execution_hash' is unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already explains compute modes, parent_hashes, parent_tool_ids, and policy_parameters well, so the baseline is 3. The description adds a small amount of value by tying the compute enum to gpu:true/false node behavior and by connecting parent_hashes to chain provenance, but the critical policy_parameters field names are deferred to 'the tool's manifest,' which neither the schema nor the description resolves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title ('Bond DV01 (Price Value of a Basis Point)') and labels the tool a 'deterministic OpenChainGraph compute node,' but never states the actual financial operation — that it computes the price sensitivity of a bond to a one-basis-point yield change. The semantic burden falls on the name and title rather than the description, which focuses on platform and execution mechanics rather than a crisp verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational usage context: compute:'auto' vs 'browser', gpu:true nodes always delegating to the browser, and a caution to use synthetic or anonymised inputs only. What it lacks is any when-to-use vs alternatives guidance — nothing distinguishes it from siblings like compute_bond_duration or compute_convexity, so an agent must infer which analytics node fits the requested metric.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_escrow_analysisRESPA Aggregate Escrow AnalysisARead-onlyIdempotentInspect
RESPA Aggregate Escrow Analysis: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-235-test-hpml-escrow. Open at: https://ainumbers.co/chaingraph/art-342-compute-escrow-analysis.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only and idempotent, but the description adds significant behavioral detail: determinism, transient non-retention of inputs, browser delegation for gpu:true, and the AP2 artifact with execution_hash for provenance. The FV-status snapshot note also clarifies verification semantics beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loaded with the tool's role, but it repeats 'OpenChainGraph compute node' twice and includes lengthy provenance/verification URLs that are not essential for selecting or invoking the tool. It could be tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description compensates by disclosing the AP2 artifact output, execution_hash, upstream artifact dependency, compute-mode behaviors, and retention guarantees. It still omits a plain-language explanation of the escrow calculation and the policy_parameters fields, but it provides enough context for a competent agent to call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all four parameters. The description adds useful context about compute mode behavior and browser delegation, but it does not enumerate policy_parameters field names or deepen the meaning of parent_hashes/parent_tool_ids beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it is a 'compute' node for 'RESPA Aggregate Escrow Analysis' and clarifies it is a deterministic OpenChainGraph compute node. It does not explain what RESPA aggregate escrow analysis actually computes, but it names the mandate and the artifact output well enough for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage context for compute modes and input handling: default 'auto' runs server-side, 'browser' returns a delegation URL, and 'Use synthetic or anonymised inputs only.' However, it never states when to use this tool instead of a sibling compute_* tool, nor provides exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_esrp_exposureACA Employer Shared Responsibility Payment Exposure CalculatorBRead-onlyIdempotentInspect
ACA Employer Shared Responsibility Payment Exposure Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-298-aca-affordability-safe-harbor. Output feeds: art-300-aca-226j-response-evidence-pack. Open at: https://ainumbers.co/chaingraph/art-299-aca-esrp-exposure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false. The description adds meaningful transparency: inputs are transient and not stored/logged/retained, execution is deterministic, compute:
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense with operational context. It front-loads the tool's identity and compute behavior, then covers data handling, chain provenance, and verification. Some redundancy exists (deterministic stated twice, compute modes repeated between schema and description), but each sentence generally adds information about the compute node's behavior. It's borderline verbose but structured logically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute semantics, data privacy, provenance, upstream/downstream chain links, and verification. However, it lacks specifics on the actual inputs needed for the ESRP calculation—policy_parameters is a generic object with 'See manifest' note, and the domain formula doesn't appear. For a complex ACA compliance tool, the absence of any field names or calculation inputs is a notable gap, even though schema documents structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with per-parameter descriptions that are already thorough (compute enum explained, parent_hashes, parent_tool_ids, policy_parameters). The description adds value by explaining the compute modes' semantics in the context of node type and kernel registration, and clarifies policy_parameters are computed server-side when applicable. Given high schema coverage, this exceeds the baseline 3 by tying parameters to the execution model.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an ACA Employer Shared Responsibility Payment Exposure Calculator and frames it as an OpenChainGraph compute node for compliance_mandate. The core purpose—computing ESRP exposure within an ACA compliance chain—is evident. However, it does not explicitly distinguish this from the sibling compute_aca_affordability_safe_harbor, which is very closely related (both ACA compliance computations). The description focuses heavily on compute mechanics rather than clarifying the domain-specific distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description details compute mode selection (auto/browser/server, gpu:true delegation) but offers no guidance on when to use this tool versus alternatives. It mentions consuming artifacts from art-298 and feeding art-300, which is useful chain context, but doesn't state when an agent should choose compute_esrp_exposure over compute_aca_affordability_safe_harbor. The usage guidance is about execution mode, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_experience_modNCCI Experience Modification CalculatorARead-onlyIdempotentInspect
NCCI Experience Modification Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-346-compute-experience-mod.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description meaningfully adds that inputs are processed transiently and not stored/logged/retained, that the node is deterministic, and that it exports an AP2 artifact with execution_hash. This is useful behavioral context beyond the annotations, though it omits auth and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and contains redundancy: 'OpenChainGraph compute node' appears twice in consecutive sentences. The FV-status receipt explanation and long URLs add provenance detail that is not essential for an agent selecting or invoking the tool, and the description would benefit from tighter, more operational phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, data handling, determinism, and artifact outputs, which is substantial. However, there is no output schema, and the description only vaguely references the actual NCCI decision inputs via 'See the tool's manifest for field names,' leaving the agent without concrete guidance on what policy_parameters should contain. The return payload is also only partially described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly restates the compute-mode semantics already present in the schema and does not materially enrich the meaning of parent_hashes, parent_tool_ids, or policy_parameters. It does clarify the 'See tool manifest' pointer for policy fields, but that adds limited value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an 'NCCI Experience Modification Calculator' and a 'deterministic OpenChainGraph compute node,' so the core purpose is evident. However, it does not distinguish itself from the many sibling compute_* tools beyond the generic compute-node framing, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit direction on when server-side vs browser execution occurs, including the compute:"auto" default, compute:"browser" forcing delegation, and gpu:true always delegating. It also warns to use synthetic or anonymized inputs only. It does not name alternative tools for when this calculator should not be used, but the provided context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_fdic_assessment_rateFDIC Deposit-Insurance Assessment Rate CalculatorARead-onlyIdempotentInspect
FDIC Deposit-Insurance Assessment Rate Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-431-fdic-assessment-rate-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with rich annotations (readOnlyHint, idempotentHint, destructiveHint all covering safety), the description adds substantial independent behavioral disclosure: deterministic execution, transient input processing ('not stored, logged, or retained'), the gpu:true delegation rule, the AP2 execution_hash artifact export, and verification URLs for chain provenance. It also describes the compute-routing behavior (server-side vs. browser delegation), which goes well beyond what the annotations declare.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains one clear structural flaw: the phrase 'OpenChainGraph compute node' appears twice back-to-back in 'OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node.' — an obvious repetition that wastes three words. That said, the remainder is dense with distinct facts (privacy, execution semantics, artifact export, verification URLs), so once trimmed it would score higher. Reasonable front-loading of the most useful details but noticeably padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a complex schema (nested policy_parameters object, 4 params, no output schema), the description delivers breadth where it counts: computation location, data handling, output artifact specification with hash, and two verification URLs for provenance. The main lacuna is that, in a tool with 150+ siblings and a large 'compute_*' family, nothing in the description states the actual domain semantics of the FDIC rate calculation (beyond the name), though the manifest reference and verification resources partially compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100% (providing a baseline of 3), the description enriches the compute parameter by explicitly linking 'auto'/'server'/'browser' values to real behavioral outcomes ('server-side on Cloudflare Workers for gpu:false nodes… browser delegation URL'). It also clarifies the parent_hashes/parent_tool_ids relationship ('sets chain.parent_hashes in the export') and the gpu:true override rule, which is not evident from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name, title, and opening phrase ('FDIC Deposit-Insurance Assessment Rate Calculator' / 'compute_fdic_assessment_rate') clearly identify verb+resource. However, the description never moves beyond restating the title to explain the functional purpose—it immediately shifts into infrastructure details (compute modes, Cloudflare Workers, AP2 exports). An agent must infer the actual calculation purpose from the name alone, which the description then spends no time clarifying, leaving the functional contract vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly conveys usage context: 'compute:"auto"' routes to server-side execution by default, '"browser"' forces a browser delegation URL, and 'Use synthetic or anonymised inputs only' constrains how the tool should be fed. However, there is no explicit when/when-not guidance, and no alternative tools or exclusions are referenced. The usage semantics are implied through the compute-mode documentation rather than stated as directives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_federal_withholdingFederal Withholding Calculator (Percentage Method)ARead-onlyIdempotentInspect
Federal Withholding Calculator (Percentage Method): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-339-compute-gross-to-net. Open at: https://ainumbers.co/chaingraph/art-338-compute-federal-withholding.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses determinism (matching idempotentHint), that 'inputs are processed transiently and are not stored, logged, or retained', the browser-delegation behavior, and the AP2 artifact export with execution_hash for chain provenance. The FV-status note clarifies the receipt verifies offline and is a snapshot, not a subscription. No contradiction with readOnlyHint=true; the artifact export is a derived artifact, not a data mutation. Slightly subtracted for jargon-heavy, unexplained OpenACLNode('compliance_mandate') framing that obscures meaning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence carries information, and the core identity is front-loaded. But the description is long and crowded with platform/provenance boilerplate (OpenChainGraph, AP2 artifact, FV-status receipt, link URLs) that an agent doesn't need to decide whether to call `compute_federal_withholding`. Stripping the provenance boilerplate would make it tighter and easier to consume.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does partially cover the missing ground: it describes execution mode, privacy behavior, deterministic behavior, artifact export, and downstream feed. But the most relevant context is missing: the taxable inputs (earnings, period, applicable filing status/frequency) and the actual withholding result are never defined, hiding behind the generic policy_parameters bag. An agent can understand the *environment* of the tool but not its *decision function* without finding another manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and the schema already explains compute, parent_hashes, and parent_tool_ids. The description adds modest value by clarifying compute behavior and telling users to use synthetic inputs for policy_parameters. The major gap is that the actual withholding inputs live inside the opaque policy_parameters object, and both schema and description defer to an unseen manifest ('See the tool's manifest for field names') — so an agent cannot learn the real parameter semantics from available text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening sentence clearly identify the resource and method: a 'Federal Withholding Calculator (Percentage Method)'. An agent can tell this computes federal income tax withholding, and the 'gross-to-net' feed reference gives downstream context. However, the description never states the core computation explicitly (what inputs like wages/filing status produce a withholding amount), and it does not differentiate from sibling compute_* tools beyond the unique resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives real usage context: 'Use synthetic or anonymised inputs only', compute mode semantics ('auto' default vs. 'browser' delegation for client-side), and gpu:true always delegating. It implies the tool is part of a payroll/gross-to-net chain by naming 'art-339-compute-gross-to-net' as the output feed. But it never states when to choose this tool over alternatives or what inputs are inappropriate, so routing is mostly left to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_fha_mip_eligibilityFHA MIP Eligibility CalculatorCRead-onlyIdempotentInspect
FHA MIP Eligibility Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-224-fha-mip-eligibility.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond annotations: determinism, server/browser execution modes, transient processing with no storage/logging/retention, a synthetic-input requirement, and AP2 artifact export with execution_hash. This is exactly the kind of context annotations alone would not convey. No contradiction with the readOnly/idempotent/destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but has redundancy: 'FHA MIP Eligibility Calculator' and 'Deterministic OpenChainGraph compute node' are effectively repeated in the first two sentences, and the FV-status URL/snapshot details are peripheral for invocation. It is not poorly structured, but it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the agent will receive—the eligibility decision, artifact shape, or error behavior—and what policy_parameters must contain. It only says an AP2 artifact with execution_hash is exported and points to an external manifest for fields. For a 4-parameter tool with a free-form policy_parameters object, this leaves too much unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description mostly restates the compute-mode behavior and defers policy_parameters field names to 'the tool's manifest,' adding little beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the domain (FHA MIP eligibility) and frames it as an OpenChainGraph compute node, but it never states what the tool actually computes—no mention of mortgage insurance premium eligibility rules, inputs, or outputs. This makes it hard to distinguish from the many other compute_* and check_* siblings. It is closer to a title than a functional definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or comparison to alternatives. The only operational directives are compute-mode selection and the instruction to use synthetic or anonymized inputs. It does not tell an agent when to prefer this tool over related eligibility or reconciliation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_flsa_regular_rateFLSA Regular Rate & Overtime CalculatorBRead-onlyIdempotentInspect
FLSA Regular Rate & Overtime Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-340-compute-flsa-regular-rate.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are processed transiently and not stored, logged, or retained, which aligns with the readOnlyHint=true annotation and adds meaningful context. It also mentions the export of an AP2 artifact with execution_hash for provenance and describes the compute mode behavior (server-side vs browser delegation), going beyond what the annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and contains extraneous details such as the direct URL and the FV-status JSON path, which are irrelevant for an agent selecting the tool. It redundantly repeats compute mode information already present in the schema, and buries the important guidance about transient inputs near the middle. It could be condensed to the essential purpose and constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has four parameters, a nested policy_parameters object with no schema, and no output schema, the description fails to explain what inputs the FLSA calculation actually requires (e.g., wage type, hours, bonuses) or what the output format is. It only mentions the AP2 artifact with execution_hash, which is insufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the parameters (compute enum, parent_hashes, parent_tool_ids, policy_parameters) with 100% coverage. The description adds no new semantic detail about these parameters; it merely references the manifest for field names of policy_parameters, which is unhelpful. Since the schema covers all parameters, the description's lack of added meaning warrants the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line clearly state the tool computes the FLSA regular rate and overtime, which is specific and differentiates it from the many compute_* siblings. However, the description focuses heavily on the compute infrastructure (OpenChainGraph, server/browser modes, Cloudflare Workers) rather than the domain logic itself, so it doesn't add much beyond the title for understanding what the calculation entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not mention any alternatives or explicitly state when this tool should be used over other compute or calculator tools. It does provide a constraint ('Use synthetic or anonymised inputs only') and describes compute modes, but gives no guidance on when to select this specific FLSA tool versus other tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_fr2052a_inflow_outflow_classificationFR 2052a Inflow/Outflow Bucket ClassifierARead-onlyIdempotentInspect
FR 2052a Inflow/Outflow Bucket Classifier: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-437-fr2052a-inflow-outflow-classifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses determinism, server- vs browser-side execution, transient processing with no retention, and that an AP2 artifact with execution_hash is exported. This is substantive behavioral context for a compute node and contradicts no annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains several distinct useful elements, but it repeats 'OpenChainGraph compute node' and includes a long URL and FV-status hash that are not needed for tool invocation. It is not poorly organized, but it is denser and less front-loaded than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description needed to explain what the classification returns; it only mentions exporting an AP2 artifact with an execution_hash. It also leaves policy_parameters fields undocumented, so an agent cannot know what inputs drive the bucketing. Compute mechanics are well covered, but domain semantics are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all four parameters with high coverage, so the baseline applies. The description adds some meaning around policy_parameters being computed server-side and the use of synthetic inputs, but it defers actual field names to an external manifest rather than clarifying the decision inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and opening line identify it as an FR 2052a inflow/outflow bucket classifier, so the subject and action are clear. However, the description never explains what classification it actually performs or how it differs from the many classify_* and compute_* siblings, and repeats 'OpenChainGraph compute node' without adding differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context: when to use compute modes and instructs to use synthetic or anonymised inputs only. It does not state when to use this tool instead of an alternative classifier or when not to use it, leaving selection to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_fund_expense_ratiosCompute Fund Expense RatiosARead-onlyIdempotentInspect
Compute Fund Expense Ratios: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-375-compute-fund-expense-ratios.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds valuable details: determinism, transient processing (not stored/logged/retained), a recommendation to use synthetic inputs, export of an AP2 artifact with execution_hash, and a chain provenance link. This far exceeds annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but densely informative, front-loaded with purpose and then branching into compute modes, privacy, provenance, and links. It is structured logically, and the added URLs/links are relevant for verification. While not concise, it is efficiently packed with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description covers the key aspects: compute behavior, data handling, artifact export, and privacy. It explains enough for an agent to invoke it correctly, though it does not detail the exact return format beyond 'AP2 artifact with execution_hash'. The absence of required parameters and the presence of comprehensive parameter descriptions make it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already described. The description adds semantic clarity for the 'compute' parameter by explaining the behavior of each enum value and the default. It also directs attention to the tool's manifest for policy_parameters, providing additional context not fully present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it computes fund expense ratios. It is introduced as an OpenChainGraph compute node, distinguishing it as a deterministic compute operation. The verb 'compute' is specific and the resource 'fund expense ratios' is explicit, making the purpose unambiguous even among many compute_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on compute modes and defaults (auto, server, browser) and explains when server-side vs. browser delegation occurs. However, it does not explicitly discuss alternative tools or when to choose this one over others, though the compute-mode explanation is substantive usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_fx_netting_positionsMultilateral FX Netting CalculatorCRead-onlyIdempotentInspect
Multilateral FX Netting Calculator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-368-compute-fx-netting-positions.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it explicitly states the computation is deterministic, inputs are not stored or logged, only synthetic/anonymised inputs should be used, and it exports an AP2 artifact with an execution_hash for chain provenance. These details cover data-handling and output side-effects that the readOnly/idempotent annotations do not fully convey. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, using 'OpenChainGraph compute node' twice in adjacent sentences. It includes a long URL and a FV-status JSON path that are not necessary for invoking the tool, and the core purpose is buried under execution infrastructure details. A more streamlined description would lead with what the tool does and reserve URLs/receipts for supplemental links.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description leaves key gaps: it does not specify the required fields for 'policy_parameters' (even saying 'See the tool's manifest'), which an agent cannot access. There is no output schema, and the description only mentions exporting an artifact with an execution_hash, not the actual netting results or return format. It also fails to differentiate from compute_multilateral_netting, so an agent cannot confidently select this tool over its sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3, and the description does not need to repeat parameter docs. It adds extra context for the 'compute' parameter by explaining server-side vs. browser delegation and gpu:true behavior, which goes slightly beyond the schema. However, it does not shed light on 'parent_hashes', 'parent_tool_ids', or the actual contents of 'policy_parameters', leaving those to the schema descriptions alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Multilateral FX Netting Calculator' and an 'OpenChainGraph compute node', but never clarifies what the netting calculation actually computes. It lacks a plain statement like 'computes netted FX positions across counterparties', leaving the agent to infer function from the name. It also does not distinguish itself from the sibling tool compute_multilateral_netting, which appears to have an overlapping purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose this tool over alternatives. The description focuses entirely on execution mechanics (server vs. browser compute, transient processing) rather than use cases or selection criteria. It does not mention any sibling tools or conditions like 'use for FX-specific netting' or 'use when you need chain provenance'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_globe_jurisdictional_etrGloBE Jurisdictional ETR CalculatorCRead-onlyIdempotentInspect
GloBE Jurisdictional ETR Calculator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-455-globe-sbie-topup. Open at: https://ainumbers.co/chaingraph/art-454-globe-jurisdictional-etr.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description adds useful behavioral details: inputs are processed transiently and not stored, compute modes are deterministic, and browser delegation behavior. However, it omits typical side effects like error handling or rate limits, and the jargon may obscure the tool's actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, restating compute mode details and the same caveats about transient processing multiple times. It front-loads the name but then dives into dense technical jargon about hashes, kernels, and delegation, making it harder to parse the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks a clear statement of what the tool actually computes (the jurisdictional ETR) and what the output looks like. There is no output schema, no mention of expected result format or possible errors. Given the complexity of the compute node concept, the description is not complete enough for an agent to confidently invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers each parameter with 100% description coverage, including the enum for compute and purpose of parent_hashes/parent_tool_ids. The tool description adds only minimal extra context, like clarifying that policy_parameters are for the 'decision function' and referencing a manifest, but does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title identifies it as a GloBE Jurisdictional ETR Calculator, but the description focuses on compute infrastructure (OpenChainGraph, compute modes, hashes) without explicitly stating the actual calculation. It says 'decision function' but never specifies what it decides, leaving the primary purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling GloBE tools (e.g., compute_globe_sbie_topup, evaluate_globe_de_minimis_exclusion). The description only explains compute mode mechanics, not use cases or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_globe_sbie_topupGloBE SBIE & Top-up Tax CalculatorARead-onlyIdempotentInspect
GloBE SBIE & Top-up Tax Calculator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-454-globe-jurisdictional-etr. Open at: https://ainumbers.co/chaingraph/art-455-globe-sbie-topup.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive annotations, the description discloses determinism, transient non-retention of inputs, the synthetic/anonymised-input requirement, server vs. browser delegation behavior, AP2 artifact export with execution_hash, and offline-verifiable FV-status. This is substantial behavioral context not available 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, unstructured paragraph that repeats 'OpenChainGraph compute node' and appends a long tail of provenance and FV-status details that are not needed for invocation. While the information is substantive, it could be tightened into a brief purpose statement plus key behavioral bullets.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a specialized tax-computation tool with no output schema and an arbitrary policy_parameters object, the description does not explain the actual SBIE/top-up tax semantics, expected output contents, or where to find policy_parameters field definitions beyond 'see the tool's manifest'. It provides strong execution and provenance context, but leaves the core input/output contract under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 non-obvious meaning for the compute parameter around auto/server/browser behavior and gpu:true delegation, and clarifies that policy_parameters are evaluated server-side for registered kernels. It does not add meaning for parent_hashes or parent_tool_ids, but the schema already documents those clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource and action: a 'GloBE SBIE & Top-up Tax Calculator' implemented as a deterministic OpenChainGraph compute node, and it names the upstream artifact it consumes. However, it never explains what SBIE or top-up tax calculation means, nor does it distinguish this tool from the similarly named sibling compute_globe_topup_tax, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it consumes upstream artifacts from art-454-globe-jurisdictional-etr and can be run server-side or via browser delegation, which tells an agent when in a ChainGraph pipeline it fits. But it gives no explicit when-not-to-use guidance or alternatives, leaving the choice between this and the closely related GloBE siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_globe_topup_taxGloBE Top-Up Tax & QDMTT Allocation CalculatorARead-onlyIdempotentInspect
GloBE Top-Up Tax & QDMTT Allocation Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-365-compute-globe-topup-tax.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive. The description adds that inputs are processed transiently and not stored, logged, or retained, which is important for privacy. It also clarifies the compute behavior (server-side vs browser delegation) and that results are exported as an AP2 artifact with execution_hash. There is no contradiction with annotations. The FV-status link provides provenance verification details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but each section provides necessary details: the compute modes, data handling, artifact export, and provenance verification. It front-loads the essential purpose and compute behavior. Some repetition (e.g., 'Deterministic OpenChainGraph compute node' appears twice) could be trimmed, but it remains informative without excessive bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema is detailed and annotations cover safety, the description adds key operational details: compute modes, data handling, artifact export, and provenance verification. However, it does not describe the output format beyond an AP2 artifact, and there's no output schema. The policy_parameters are not detailed, but the description points to the tool's manifest. Overall, an agent can call it effectively with the compute mode and input expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for parameters, with descriptions for compute modes, parent_hashes, parent_tool_ids, and policy_parameters. The description adds context for compute modes and mentions that policy_parameters are computed server-side, but does not explain what those parameters are. The description adds some value by explaining the compute modes and chain provenance, but most parameter meaning is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a GloBE Top-Up Tax & QDMTT Allocation Calculator, an OpenChainGraph compute node, and mentions it is deterministic. However, it doesn't explicitly state what inputs are required or what the output represents beyond the tool's name. It differentiates from siblings like compute_globe_jurisdictional_etr and evaluate_globe_safe_harbour_tests by focusing on top-up tax and QDMTT allocation, but it could be more explicit about the exact computation it performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes and when to use them (e.g., browser delegation for gpu:true nodes), and notes that inputs should be synthetic or anonymised. It doesn't explicitly compare alternatives among the many globe-related tools, but the context of being a compute node for top-up tax is clear. The description implies use in compliance scenarios (compliance_mandate) but doesn't state when to choose this over similar tools like compute_globe_sbie_topup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_gl_tieout_recomputeGL Tie-Out RecomputeARead-onlyIdempotentInspect
GL Tie-Out Recompute: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/tools/665-gl-tieout-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already marking readOnlyHint=true, idempotentHint=true, and destructiveHint=false, the description adds meaningful behavioral context: it states inputs are 'processed transiently ... not stored, logged, or retained', that gpu:true nodes always delegate to browser, that outputs include an 'AP2 artifact with execution_hash', and it discloses non-obvious properties like the FV-status being a snapshot not a subscription. This goes well beyond the annotations and helps the agent understand side effects and operational characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense with technical details about OpenChainGraph compute mechanics, compute modes, FV-status links, and provenance. While each sentence adds information, the description is long and front-loads internal architecture details before stating what the tool actually computes. The FV-status link and URL could be considered operational metadata rather than essential usage information. It's structured but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute mode enum, parent_hashes chains, policy_parameters nested object) and the complete schema coverage, the description covers the compute execution model well. However, it lacks specifics about what 'GL Tie-Out' recomputation actually does, what the AP2 artifact contains beyond an execution_hash, and what policy_parameters fields the decision function expects. Since it does have the manifest referenced, that mitigates some incompleteness. It's adequate but has gaps about the domain function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) described in the schema. The description adds a little context about 'policy_parameters' being inputs for the 'decision function' and references the manifest, but it doesn't explain what fields the policy_parameters object should contain for THIS tool. The schema already covers parameter semantics well, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Recompute' / 'compute'), the resource ('GL Tie-Out'), and identifies it as an 'OpenChainGraph compute node (compliance_control)'. This is reasonably distinct from siblings like 'reconcile_report_to_general_ledger' and 'compute_interest_accrual_recompute', though the description focuses heavily on compute-mode mechanics rather than the actual financial decision it computes. The GL tie-out purpose (reconciling general ledger to reports) is only implicit, not explicitly stated, which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use server vs browser compute modes and mentions 'Use synthetic or anonymised inputs only', which is a usage constraint. However, it doesn't tell the agent when this tool is preferred over siblings or give context about the typical GL tie-out workflow. The FV-status link provides verification context but not usage guidance. It's implied usage rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_gross_to_netGross-to-Net Payroll Calculator (FICA)ARead-onlyIdempotentInspect
Gross-to-Net Payroll Calculator (FICA): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-338-compute-federal-withholding. Open at: https://ainumbers.co/chaingraph/art-339-compute-gross-to-net.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses multiple behavioral traits beyond the annotations: it states inputs are processed transiently and not stored/logged/retained, explicitly mandates using synthetic or anonymised inputs only, declares determinism, and explains compute-mode delegation (server vs. browser). It also mentions export of an AP2 artifact with execution_hash, adding transparency. No contradiction 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive. It repeats 'OpenChainGraph compute node' and includes lengthy infrastructure details (URLs, hashes, FV-status) that are not essential for understanding the tool's purpose. While the core function is clear early, the text could be significantly trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema has nested objects (policy_parameters) but no concrete field specification, and the description does not fill this gap. It mentions consuming upstream artifacts from federal withholding, giving a hint, but does not explain what inputs to provide or what the output artifact contains. Without the manifest, an agent lacks sufficient information to call the tool correctly for a gross-to-net calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) with moderate detail. The description adds little beyond repeating compute-mode behavior and mentioning consumption of upstream artifacts. It does not elaborate on policy_parameters fields; schema itself defers to 'the tool's manifest.' Since schema coverage is 100%, the baseline of 3 applies without significant added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase clearly state the tool computes gross-to-net payroll (FICA). It uses a specific verb ('computes') and resource ('gross-to-net payroll'), distinguishing it from many sibling compute_ tools like compute_federal_withholding or compute_deterministic_amortization_schedule. The name alone conveys the primary function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention payroll scenarios, when gross-to-net is needed, or how it differs from compute_federal_withholding. The description focuses on compute binding and chain mechanics, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_hmda_rate_spreadCompute HMDA Rate SpreadCRead-onlyIdempotentInspect
Compute HMDA Rate Spread: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-229-compute-disparity-metrics. Open at: https://ainumbers.co/chaingraph/art-230-compute-hmda-rate-spread.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds that inputs are processed transiently and not stored, which is useful behavioral detail. However, it does not clarify side effects beyond that, and the compute-mode behavior is more about execution than side effects. Still, with annotations present, the bar is lower and the added info earns a middle score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, echoing schema content and using dense jargon (e.g., 'AP2 artifacts', 'chain.parent_hashes', 'gpu:false nodes'). It does not front-load the core purpose and wastes words on generic compute-binding mechanics. It could be trimmed to a single clear sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains compute modes and provenance but leaves out essential context: what the tool is for, what inputs it expects beyond generic 'policy_parameters', and what the output represents. It mentions 'output feeds' but not the output structure. An agent would struggle to know when or why to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with descriptions for all four parameters. The description restates some of that (e.g., compute modes, parent_hashes) but does not add meaningful semantic detail beyond the schema. Baseline of 3 is appropriate since schema already handles semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description focuses on compute binding and chain provenance but never clearly states what the tool actually computes. 'Compute HMDA Rate Spread' is a vague verb-resource pairing without explaining the regulatory calculation or decision function. It reads more like infrastructure boilerplate than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus any sibling. The description does not mention conditions, alternatives, or contextual triggers. It merely describes compute modes and output feeds, which are not usage conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_identity_proofing_assurance_levelIdentity-Proofing Assurance Level EvaluatorBRead-onlyIdempotentInspect
Identity-Proofing Assurance Level Evaluator: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-523-identity-proofing-assurance-level.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnly, idempotent, and non-destructive annotations, the description adds substantial behavioral context: deterministic execution, server-side versus browser delegation behavior, transient processing with no storage/logging/retention, and export of an AP2 artifact with execution_hash. It also mentions offline-verifiable FV-status, all of which goes well beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the identity-proofing purpose and contains rich behavioral details, but it repeats 'OpenChainGraph compute node' and includes two URLs and provenance metadata that add significant bulk. It is informative but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains execution and artifact output, but it leaves the core decision inputs opaque: policy_parameters has no field names and the description only says to 'see the tool's manifest'. With no output schema, an agent still cannot know how to construct a valid request or interpret the assurance-level result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the compute, parent_hashes, parent_tool_ids, and policy_parameters properties. The description does not meaningfully add parameter-level meaning beyond the schema; it mostly restates compute-mode behavior already present in the enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly identify the resource: computing an identity-proofing assurance level. The description adds that it is a deterministic OpenChainGraph compute node in the regulatory_reporting domain, which gives useful context. However, it does not state exactly what inputs or criteria determine the assurance level, and the description leans heavily on the title rather than explaining the computation itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives compute-mode behavior and warns to use synthetic or anonymized inputs, but it does not say when to choose this tool over alternative tools or when it should not be used. There is no mention of a specific condition or worklow that selects this compute node among the many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_index_weightsCompute Index WeightsARead-onlyIdempotentInspect
Compute Index Weights: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-645-compute-index-weights.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint, idempotentHint, and destructiveHint false, which set expectations. The description adds strong behavioral context: deterministic, server-side on Cloudflare Workers for gpu:false, inputs processed transiently and not stored/logged/retained, browser delegation URL behavior, and the export of an AP2 artifact with execution_hash for chain provenance. It even provides a URL and FV-status receipt linkage. This goes well beyond the annotations, though it stops short of describing any failure modes or exact output format (no output schema is present).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense single paragraph that packs a lot of information: compute modes, delegation behavior, transient processing, privacy note, artifact export, URL, and FV-status. It is not front-loaded with the most critical operational facts (the compute mode behavior comes first, but the article/artifact references appear mid-paragraph). Some content (URL, FV-status receipt) seems auxiliary and could be trimmed or moved to a separate section, but everything is relevant and there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description tells us an AP2 artifact is exported with execution_hash, which helps the agent understand the output shape. It covers compute modes, determinism, privacy/non-retention, and provenance. It doesn't explain what 'index weights' means or what the policy_parameters fields are (deferring to the manifest), and it does not list required parent hashes preconditions, but for a compute node with 0 required parameters and a deterministic profile, it is reasonably complete. The FV-status note about snapshots vs subscriptions adds cautious framing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 4 parameters are described schematically. The description adds meaning by explaining compute modes in its own words and highlighting the policy_parameters context (server-side computation for gpu:false with registered kernel). It also introduces the parent_hashes/parent_tool_ids chaining purpose and mentions the AP2 artifact execution_hash connection. This meaningfully supplements the schema descriptions, which are already detailed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node named 'Compute Index Weights' with an attestation_mandate context. It describes what it computes but the phrase 'Index Weights' is not fully clarified — it references a compute node and chain provenance, but doesn't explicitly state what index or what weights are being computed, relying on the tool name. Still, it distinguishes itself as a compute/delegation node with a browser delegation option, which differentiates from sibling tools enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when gpu:true nodes delegate, but it does not specify when to use this tool versus alternatives such as other compute_* or record_index_* tools. No explicit 'when not to use' or alternative routing is provided beyond the compute mode behavior. The determinism and non-retention are mentioned but not framed as use-case guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_interest_accrual_recomputeInterest Accrual RecomputeBRead-onlyIdempotentInspect
Interest Accrual Recompute: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/tools/661-interest-accrual-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: determinism, server-side vs browser-delegation execution, transient processing with 'not stored, logged, or retained,' AP2 artifact export with execution_hash, and FV-status semantics (snapshot, verifies offline). All consistent with readOnlyHint=true and idempotentHint=true — 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably front-loaded (purpose, execution model, data handling, output, verification) but contains redundancy ('OpenChainGraph compute node' appears twice) and a long FV-status hash/URL tail that is peripheral to invoking the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a free-form policy_parameters object, the description covers infrastructure behavior well but remains silent on the core computation's semantics and defers parameter fields to an external manifest. An agent cannot determine what inputs an interest-accrual recomputation requires or what the exported artifact's contents mean.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates compute-mode behavior already present in the schema and repeats the pointer to 'the tool's manifest' for policy_parameters field names. It adds no meaning beyond what the input schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title convey a specific resource (interest accrual recompute), but the description body only labels it as an 'OpenChainGraph compute node (compliance_control)' — boilerplate that never explains what the recomputation actually calculates. Among dozens of compute_*/recompute_* siblings, nothing in the text differentiates this tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to choose this tool over siblings like recompute_* or allocate_ihb_interest. The only usable guidance is 'Use synthetic or anonymised inputs only,' which is a data-handling constraint, not a selection rule. Compute-mode instructions (auto/server/browser) describe execution mechanics, not when the tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_intraday_liquidity_monitoringBCBS 248 Intraday Liquidity Monitoring SnapshotARead-onlyIdempotentInspect
BCBS 248 Intraday Liquidity Monitoring Snapshot: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-477-intraday-liquidity-monitoring.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive-safe annotations, the description discloses substantial behavioral detail: inputs are processed transiently with no storage/logging/retention, server vs. browser delegation semantics, gpu:true always delegates, deterministic execution, and output of an AP2 artifact with execution_hash for provenance. Also includes FV-status verification details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads purpose but then covers many distinct topics—compute modes, data handling, artifact output, URLs, and FV-status—in a single unbroken block. Some content (links, receipt details) may be tangential to tool invocation, and the long sentences reduce skimmability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex compute node with no output schema, the description explains compute modes and transient data handling but does not clarify the structure/semantics of the computed snapshot or policy_parameters (the schema merely points to a manifest). It also omits a detailed description of the returned AP2 artifact beyond the execution_hash, leaving some ambiguity for a correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, the baseline is 3. The description repeats the compute parameter behavior already present in the schema and does not add meaningful explanation for parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific function: compute a BCBS 248 intraday liquidity monitoring snapshot, and identifies the tool as an OpenChainGraph compute node with a compliance mandate. This distinguishes it from generic compute tools and other liquidity-related siblings, though it does not name alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance (compute modes, synthetic input warning) but lacks explicit when-to-use versus alternative tools. The intended usage is implied by the regulatory scope (BCBS 248), but there is no direct 'use this instead of X' context for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_ipfs_cidIPFS CID ComputerARead-onlyIdempotentInspect
IPFS CID Computer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-210-ipfs-cid-computer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows it's a safe read operation. The description adds valuable context: inputs are not stored/logged/retained, and the tool exports an AP2 artifact with execution_hash. This goes beyond annotations and is helpful. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overloaded with tangential operational details (Cloudflare Workers, registered kernels, chain provenance, URL, FV-status receipt) that are not core to selecting or invoking the tool. The genuinely useful parts — compute modes and the no-storage guarantee — get buried amidst compliance jargon. Not appropriately sized for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a computation tool with no output schema, the description should at least explain what the return value looks like beyond the AP2 artifact mention. It doesn't clarify what IPFS CID is being computed or from what inputs. The warning about synthetic inputs suggests privacy concerns but the exact output format is unclear. Given the complexity and dependencies on external kernels, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters well. The description adds nothing about parameter semantics beyond restating the compute modes that are already in the schema. The policy_parameters note is slightly clarified by the description but marginal. Baseline 3 is appropriate since schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool computes an IPFS CID as an OpenChainGraph compute node, which distinguishes it from the thousands of sibling tools. However, the actual purpose is somewhat obscured by the heavy procedural language about compliance mandates, Cloudflare Workers, AP2 artifacts, and FV-status. An agent would understand it computes an IPFS CID but the core function of what the CID is for gets buried.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use browser vs server compute modes and notes that gpu:true nodes always delegate to browser. However, it doesn't explicitly say when NOT to use this tool compared to siblings like verify_execution_hash or build_chaingraph, which are nearby in functionality. The inclusion of a URL and warning about not storing inputs is useful, but sibling differentiation is weak.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_irrInternal Rate of Return (IRR)ARead-onlyIdempotentInspect
Internal Rate of Return (IRR): OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-325-tvm-irr.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description far exceeds the annotation (readOnly/idempotent/non-destructive). It specifies transient processing, no storage/logging/retention, gpu/browser delegation behavior, clifetime of the execution receipt, and the fact that off-line verification is possible. Those are non-obvious behavioral features an agent needs and they do not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains valuable, front-packed behavioral detail, but it is thick and somewhat redundant: 'compute node' appears twice per-parallel clauses, the FV-status snapshot and provenance-link line may overwhelm an agent comparing many tools. It provides lots of useful context but not with the economy of a high-quality, disciplined tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core missing piece is large: there is no description of what IRR inputs are needed, what policy_parameters must contain, or what an IRR result means. Since there is no output schema and no formal structure here, an agent cannot reliably call the tool without off-definition documentation, which makes the description incomplete for its central task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all four parameters, so the baseline is 3 even though the description adds no direct parameter explanation. The description does elaborate on the compute behavior, but it leaves policy_parameters essentially undefined — the agent still cannot know what keys to place inside the object from reading the tool definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly presents the tool as an IRR compute node for OpenChainGraph and briefly explains its deterministic Cloudflare/browser execution modes. It names the intended resource (IRR) and go verb broadly, but does not describe the actual IRR formula, cash-flow input shape, or why one would choose it over sibling compute_xirr/compute_npv style tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides operational guidance: use synthetic or anonymized inputs only, inputs are not stored, and the compute parameter awitches server vs browser execution. However, it does not explicitly compare with a custom IRR or NPV node, it does not say when to prefer compute_irr over compute_xirr, and it leaves enforcement of the policy_parameters manual.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_large_exposures_limitLarge Exposures Limit CheckBRead-onlyIdempotentInspect
Large Exposures Limit Check: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-425-large-exposures-limit-check.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that inputs are 'processed transiently' and 'not stored, logged, or retained', which is useful privacy-relevant context. The determinism and compute-mode details extend beyond the annotations without contradicting them. The 'snapshot, not a subscription' note also clarifies the FV-status link's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and packs a lot of information into a short space, but includes extraneous elements like a full URL and an FV-status hash that may not be immediately actionable. It front-loads the core purpose and then explains compute modes, but could be trimmed to be more scannable. It is adequate but not a model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested objects) and lack of output schema, the description adequately covers how the tool executes (compute modes), data handling (transient processing), and provenance (AP2 artifact, execution_hash). However, it doesn't explain what the large exposures limit check actually computes or what constitutes a 'limit breach', leaving functional behavior unclear. The description is complete enough for an agent to invoke it, but not to fully reason about outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) having a description that explains its purpose and format. The description itself doesn't add much beyond the schema, but the schema is already rich. The 'See the tool's manifest' note for policy_parameters is a reasonable pointer, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a compute node for large exposures limit checks under a compliance mandate. It uses a specific verb ('compute') and resource ('large exposures limit'), and the 'compliance_mandate' qualifier provides regulatory context. However, it doesn't explicitly contrast with sibling tools such as compute_counterparty_limit_check, though the resource is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) in detail, which informs how the tool runs, but gives no guidance on when to choose this tool versus an alternative. There is no mention of exclusions, prerequisites, or conditions that would route an agent to a different tool. The 'Large Exposures Limit Check' title implies a specific use case, but explicit alternative references are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_lcm_rate_derivationLCM Rate Derivation CalculatorARead-onlyIdempotentInspect
LCM Rate Derivation Calculator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-255-compute-lcm-rate-derivation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already assert readOnly, idempotent, non-destructive. The description adds real value by spelling out the transient, non-retained processing ('inputs are processed transiently ... not stored, logged, or retained'), the precise compute dispatch semantics including browser delegation, the AP2 artifact export with execution_hash, the chain provenance link through parent_hashes, and an FV-status receipt that verifies offline. These are concrete behavioral disclosures beyond the hints and no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads the core identity, but the third and final long sentence about AP2 export and the FV-status URL is oversized relative to the rest. The URL and JSON filename add operational provenance context but push the description well beyond an efficient size. Every clause roughly earns its place, yet the structure could be tightened and pushed the operational receipt details into a dedicated section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with four parameters, annotations marking it read-only and idempotent, and no output schema, the description covers the main open questions: what gets computed deterministically, the compute-mode binding, data handling, provenance export, and offline verifiability of the spec snapshot. The main gap is not explaining what an LCM rate derivation calculation actually is mathematically, which an agent may still be unable to infer from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with a high coverage. The description meaningfully enriches the 'compute' enum semantics by explaining the auto/server/browser + gpu:true routing and clarifying that 'browser' returns a delegation URL. It also adds the fact that policy_parameters are computed server-side only for registered gpu:false kernels. These details go beyond the schema text, so a score above the 3 baseline is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by naming the tool as an 'OpenChainGraph compute node' with an explicit function: deterministic computation of LCM rate derivations. This is more specific than a mere tautology and distinguishes it as a compute node versus the surrounding family of check/validate/assess tools. However, it does not directly state the core computation (LCM = least common multiplier applied to something) in plain terms, and it does not name a specific sibling to contrast against, only the generic node taxonomy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute-mode dispatch rules (auto vs server vs browser, gpu:false vs gpu:true) and tells the user to supply synthetic or anonymised inputs. That is genuine when-to-use guidance for the compute parameter, but it does not say when to prefer this tool over any specific alternative among the many compute_* and recompute_* siblings, nor does it describe the required preconditions (e.g., what parent_hashes should be, what upstream artifacts are needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_lcr_nsfr_leverageLCR / NSFR / Leverage Ratio CalculatorARead-onlyIdempotentInspect
LCR / NSFR / Leverage Ratio Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-364-compute-lcr-nsfr-leverage.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description adds rich behavioral context: deterministic processing, transient data handling, no storage/logging/retention, compute mode behaviors (server-side vs browser delegation), and the export of an AP2 artifact with execution_hash for chain provenance. It also explains the FV-status snapshot mechanism, fully disclosing side effects and processing characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains redundancy, such as repeating 'OpenChainGraph compute node' and the 'Deterministic' attribute. It includes URLs and metadata that, while informative, could be streamlined. The structure is clear but could be more concise without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description explains the compute process and artifact export, it does not explicitly describe the output format or content of the computed LCR/NSFR/Leverage ratios. It references a manifest for policy_parameters but leaves the actual result shape undefined. Given that this is a calculator, missing output details makes it incomplete for an agent trying to invoke and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover 100% of the parameters with detailed explanations (compute modes, parent hashes, policy parameters). The description adds a small amount of extra guidance ('Use synthetic or anonymised inputs only') and reiterates the compute mode behavior, but does not substantially expand on parameter meaning beyond the schema. Given the high schema coverage, this is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is an 'LCR / NSFR / Leverage Ratio Calculator' and identifies it as an OpenChainGraph compute node with a compliance mandate. The purpose is unambiguous and distinct from other compute tools in the sibling list, which target different financial metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for calculating these specific ratios, but does not explicitly compare with alternative tools or state when to choose this over other compute tools. It does provide operational guidance (compute modes, synthetic input recommendation) which is useful, but lacks explicit 'when not to use' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_llpa_stackLLPA Stack CalculatorARead-onlyIdempotentInspect
LLPA Stack Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-222-agency-eligibility-matrix. Open at: https://ainumbers.co/chaingraph/art-221-llpa-stack.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This description is exceptionally transparent beyond the annotations. It discloses determinism, transient processing with no storage/logging/retention, server-side vs client-side execution delegation, and the export of an AP2 artifact with execution_hash for chain provenance. It also details the FV-status verification snapshot. These are meaningful behavioral traits not covered by readOnlyHint/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and contains many technical details, including a URL, a file hash, and FV-status verification information. While each sentence carries some information, the text could be better front-loaded; the core purpose is obscured by jargon and provenance details. It is not excessively verbose, but it lacks the brevity of a well-structured summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description provides some return information (AP2 artifact with execution_hash) but does not describe the actual computed result or the response structure beyond that. It also leaves the domain semantics of 'LLPA stack' undefined and defers policy_parameters field names to an external manifest. For a complex compute tool with no output schema, this is a notable gap, though the behavioral context is rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds extra value by explaining the compute parameter's server-side/browser delegation semantics and clarifying that policy_parameters are inputs to the decision function, computed server-side under certain conditions. It also ties parent_hashes to the upstream artifact, enriching parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'LLPA Stack Calculator' and a 'Deterministic OpenChainGraph compute node', which gives a general sense but never states what the LLPA stack actually is or what decision it computes. It is not a pure tautology because it mentions exporting an AP2 artifact and consuming upstream artifacts, but an agent still cannot reliably distinguish this from other compute_* tools without domain knowledge of 'LLPA'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage constraints ('Use synthetic or anonymised inputs only', 'gpu:true nodes always delegate to the browser') and explains compute mode behavior, but it does not explicitly state when to use this tool instead of a sibling or when not to use it. The upstream artifact dependency is mentioned but no 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.
compute_loan_servicing_waterfall_recomputeLoan Servicing Waterfall RecomputeBRead-onlyIdempotentInspect
Loan Servicing Waterfall Recompute: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/tools/664-loan-servicing-waterfall-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| verdict | No | |
| core_applied | No | |
| missing_inputs | No | |
| payment_amount | No | |
| application_order | No | |
| per_bucket_deltas | No | |
| unapplied_remainder | No | |
| computed_applied_by_bucket | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: transient processing without storing/logging inputs, browser delegation for gpu:true nodes, synthetic-only input policy, and the production of an AP2 artifact with execution_hash. These points complement the readOnlyHint and idempotentHint annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads compute modes and data-retention facts, but it opens with the same 'OpenChainGraph compute node' phrase twice and includes provenance URL/status detail that is valuable but not structured cleanly. It is appropriately long for the tool's complexity, yet has redundancy that offsets its good information content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Schema, annotations, and output schema cover the safety/read-only profile and parameter mechanics, and the description's retention, synthetic-input, and provenance notes add important context. However, the core semantics of a loan-servicing waterfall and the expected shape of policy_parameters are under-specified, requiring further lookups.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input-schema coverage is 100%, so the schema already documents compute, parent_hashes, parent_tool_ids, and policy_parameters. The description mostly repeats the compute-mode and parent-hash semantics rather than adding new meaning. Crucially, policy_parameters is left to 'See the tool's manifest for field names', so the description does not make the parameter resolvable in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for 'loan servicing waterfall recompute' but never states in plain terms what the tool actually computes—e.g., how a loan servicing waterfall is recalibrated or what inputs drive it. It repeats the title as a category label and does not differentiate it from other recompute/waterfall siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over alternate recompute/waterfall tools. The compute:auto/browser/server behavior is a runtime execution detail, not a tool-selection rule, and 'use synthetic or anonymised inputs' is an input constraint rather than a use-condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_ltv_ratiosLTV/CLTV/HCLTV Ratio CalculatorBRead-onlyIdempotentInspect
LTV/CLTV/HCLTV Ratio Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-222-agency-eligibility-matrix. Open at: https://ainumbers.co/chaingraph/art-336-compute-ltv-ratios.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description discloses deterministic behavior, server-side vs browser-delegation modes, transient processing with no storage/logging/retention, and AP2 artifact export with execution_hash for provenance. It also provides a verification URL and FV-status snapshot semantics, adding substantial behavioral context not available from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and repetitive, saying `OpenChainGraph compute node` twice in the opening lines. The core behavior is front-loaded, but the trailing FV-status path and URL add length without the tight organization expected for a concise tool definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still does not state what the successful response contains (ratio values vs browser-delegation URL vs AP2 artifact), and the key `policy_parameters` object is opaque apart from a pointer to a manifest. For an LTV/CLTV/HCLTV calculator, an agent is left without the actual input fields or return shape needed to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all four parameters, so the baseline is 3. The description adds generic compute-mode behavior but does not enrich `policy_parameters` beyond the schema; it defers to 'the tool's manifest for field names' rather than explaining what fields such as LTV inputs require.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening clause identify the resource as `LTV/CLTV/HCLTV Ratio Calculator` and the description labels it a deterministic OpenChainGraph compute node, so an agent can infer it computes loan-to-value ratios. It does not explicitly contrast itself with siblings like `compute_dti_ratios`, relying on the title for differentiation, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use criteria, prerequisites, or explicit alternatives; it only instructs to use synthetic or anonymised inputs. The output-feed reference (`art-222-agency-eligibility-matrix`) hints at context but does not tell an agent when to choose this tool over the many sibling compute tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_m3p_monthly_capM3P Monthly Cap CalculatorCRead-onlyIdempotentInspect
M3P Monthly Cap Calculator: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/tools/617-m3p-monthly-cap-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses additional behaviors beyond the annotations: it states inputs are processed transiently and not stored, and that the tool is deterministic. It also describes compute mode behavior (server vs. browser delegation) and the export of an AP2 artifact, adding useful context for runtime expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long and repetitive, with phrases like 'server-side' and 'browser delegation URL' appearing multiple times. It includes extraneous URLs and FV-status text that do not clarify the tool's purpose. The core functionality is not front-loaded; instead, it is buried under generic compute-node boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential details for a user to understand the tool's domain: it does not define M3P, explain the monthly cap calculation, or describe the output artifact beyond referencing an AP2 hash. While it covers compute modes and data handling, it is incomplete for practical use without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for all parameters, including the compute enum and the purpose of policy_parameters. The tool description adds minimal new semantics—it only reiterates compute-mode behavior and points to the manifest for field names, which is already implied by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a 'M3P Monthly Cap Calculator' but does not explain what M3P or a monthly cap is. It focuses on compute modes and ChainGraph infrastructure rather than the tool's specific decision function, leaving the core purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions compute modes and gpu settings but does not relate them to selection criteria or compare with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_mla_maprCompute MLA MAPR (closed-end)ARead-onlyIdempotentInspect
Compute MLA MAPR (closed-end): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-232-compute-scra-rate-cap. Open at: https://ainumbers.co/chaingraph/art-231-compute-mla-mapr.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral information beyond the annotations: inputs are processed transiently and not stored, logged, or retained; the tool deterministically exports an AP2 artifact with execution_hash; and browser delegation behavior is disclosed for compute:browser and gpu:true. None of this contradicts the readOnly, idempotent, openWorld, or destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, front-loading the important determinism, compute-mode, and data-retention behavior before the provenance URLs. The main issue is some redundancy, such as calling it an OpenChainGraph compute node twice, and the FV-status sentence is heavier than strictly necessary. Overall it is still efficient for a tool with this many behavioral and provenance edges.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute routing, privacy/retention behavior, artifact export, output feed linkage, and provenance verification. However, for a tool with no output schema and a nested policy_parameters object, it does not describe what the MAPR decision function returns, what fields policy_parameters expects, or how to interpret the artifact beyond execution_hash. Meaningful but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with full coverage, including compute mode semantics. The description reinforces what auto, server, and browser mean but does not meaningfully enrich parent_hashes, parent_tool_ids, or the policy_parameters object. Since coverage is high, the baseline applies and no significant parameter gap is compensated for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource being computed (MLA MAPR, closed-end) and frames it as a deterministic OpenChainGraph compute node with a compliance mandate and export artifact. It is more specific than a restatement of the title, but the core acronym is never expanded. It also does not explicitly distinguish itself from the sibling recompute_mla_mapr_actuarial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete runtime guidance: auto uses server-side execution, browser forces client-side execution, gpu:true always delegates, and only synthetic or anonymised inputs should be used. However, it never states when to choose this tool over recompute_mla_mapr_actuarial or other compute tools. Usage context is implied rather than explicitly contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_mlr_rebateMLR Rebate CalculatorARead-onlyIdempotentInspect
MLR Rebate Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-344-compute-mlr-rebate.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing that inputs are processed transiently and not stored, logged, or retained, that the tool is deterministic, and that it exports an AP2 artifact with execution_hash for chain provenance. It also explains the compute mode delegation logic (gpu:false vs gpu:true) and provides an explicit warning to use synthetic/anonymised inputs. This is rich behavioral disclosure beyond the readOnly/idempotent/destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but not concise; it includes external URLs and a long FV-status receipt snippet that may be extraneous for an agent. The structure front-loads the purpose and core behavior, but the length and auxiliary details (links, status snapshot) dilute the core message. It is organized but could be trimmed without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with complex execution modes and provenance requirements, the description covers transient processing, compute delegation, and export behavior, but it does not explain the expected output format beyond 'AP2 artifact with execution_hash,' nor does it list the specific fields for policy_parameters (deferring to an external manifest). There is no output schema, and the description does not compensate fully by clarifying what the calculation returns or how a caller interprets the artifact. The external URL and manifest reference are hints, but an agent needs more context to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for all four parameters, including the compute enum semantics and the purpose of policy_parameters. The tool description adds little beyond the schema: it repeats the compute mode explanation and references 'the tool's manifest' for policy_parameters field names, but does not add new meaning to the parameters. Baseline of 3 is appropriate when schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool is clearly an MLR Rebate Calculator, and the description identifies it as an OpenChainGraph compute node with a compliance mandate. It states it is deterministic and specifies its compute modes, which distinguishes it from sibling compute tools by operation semantics. However, it never explicitly states what MLR rebate means or what calculation is performed, relying on the name and title for that context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on compute mode selection (auto, server, browser) and instructs users to use synthetic or anonymised inputs only, but it does not explain when to use this tool instead of sibling compute tools (e.g., compute_mla_mapr, compute_annuity). There is no mention of alternatives or conditions that would route an agent to this specific calculator over others in the same family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_multilateral_nettingMultilateral Cash NettingBRead-onlyIdempotentInspect
Multilateral Cash Netting: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-260-allocate-ihb-interest. Open at: https://ainumbers.co/chaingraph/art-259-compute-multilateral-netting.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially exceeds the annotations by disclosing determinism, server vs browser execution, gpu-based delegation, transient non-storing of inputs, AP2 artifact export with execution_hash, and FV-status snapshot semantics. These are meaningful behavioral traits not present in the annotations, and there is no contradiction with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with execution modality and data-handling facts, but it repeats 'OpenChainGraph compute node' twice in the opening sentences and spends a long tail on FV-status and URL details. It is dense and useful, yet slightly bloated and not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description compensates well with execution details, transient-input guarantees, artifact provenance, and downstream feed info. However, it never explains the actual netting result/response shape, and policy_parameters field names are deferred to 'the tool's manifest'. For a complex nested-parameter tool, this leaves a meaningful gap in what an agent can expect back and what to feed in.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema carries the parameter documentation burden. The description does not add meaningful new semantics about parent_hashes, parent_tool_ids, or policy_parameters; its compute-mode explanation largely mirrors the schema's own per-enum descriptions. Baseline 3 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node for 'Multilateral Cash Netting' and emphasizes determinism, but it never states in plain terms what calculation is performed or what result is produced. It relies on the tool name/title for the core purpose, and does not distinguish this netting tool from siblings like compute_fx_netting_positions or estimate_ficc_margin_netting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful operational context: default server-side compute, browser delegation, gpu:true behavior, and a 'Use synthetic or anonymised inputs only' constraint. However, it provides no explicit guidance on when to choose this tool over alternatives, no exclusions, and no selection criteria relative to the many sibling compute/netting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_note_h_margin_debit15c3-3a Note H Margin-Debit ComputationARead-onlyIdempotentInspect
15c3-3a Note H Margin-Debit Computation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-580-15c3-3a-note-h-margin-debit.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing determinism, transient input processing, absence of storage/logging/retention, synthetic-data requirements, server vs. browser delegation behavior, AP2 artifact export, execution_hash provenance, and the offline-verifiable FV-status snapshot. This is a strong disclosure profile with no contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but mostly purposeful, with distinct operational areas covered: compute mode, privacy, provenance, and verification URLs. It loses some efficiency by repeating 'OpenChainGraph compute node' in consecutive sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a highly specialized compute node, the description covers the major invocation concerns: execution default, forced client-side execution, GPU behavior, transient data handling, output artifact, and verification URL. The actual calculation semantics and policy parameter structure still require the external manifest, so it stops short of a perfect 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter meanings. The description reinforces the compute-mode behavior but adds little beyond the schema; policy_parameters still depend on an external manifest for field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first line identify the tool as a 15c3-3a Note H Margin-Debit computation and an OpenChainGraph compute node, which is specific enough for the intended domain. It distinguishes itself from the large sibling set through its regulatory anchor, but it does not explain the underlying calculation or name a sibling it replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers clear context on compute modes and strongly warns to use synthetic or anonymised inputs, but it never explicitly states when to prefer this tool over alternatives or when it should not be used. Usage is mostly implied from the regulatory name and the compute-node framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_npvNet Present Value (NPV)ARead-onlyIdempotentInspect
Net Present Value (NPV): OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-324-tvm-npv.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe, non-destructive, idempotent nature is covered. The description adds behavioral context about transient processing ('not stored, logged, or retained'), the 'auto' compute dynamic, browser delegation URL, and AP2 artifact export with execution_hash. With annotations present, these additions are useful and non-contradictory; they raise confidence in what happens during execution, though they do not detail failure modes or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but organized: it opens with a clear label and determinism statement, then explains compute modes, privacy behavior, artifact output, and provides links/receipts at the end. Every sentence carries operational or compliance-relevant information, and the most important execution semantics (compute modes, data handling, artifact hash) are front-loaded. The final URL and FV-status details are secondary but relevant to provenance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description partially compensates by stating that it 'Exports an AP2 artifact with execution_hash for chain provenance' and provides a browser delegation URL option. It also covers security/privacy guidance ('Use synthetic or anonymised inputs only') and provenance verification via FV-status. Gaps remain: it does not explain the exact NPV calculation inputs/outputs or how 'policy_parameters' should be structured, which matters for a compute tool whose schema points to a 'tool's manifest' rather than listing fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents parameters thoroughly, including descriptions for 'compute', 'parent_hashes', 'parent_tool_ids', and 'policy_parameters'. The description reinforces the 'compute' semantics by explaining when 'auto' results in server-side execution and when 'browser' forces delegation, which goes beyond the schema's basic enum descriptions. It also helps contextualize 'policy_parameters' by referencing the tool's manifest for field names, and clarifies that inputs are transiently processed. Thus it complements rather than merely repeats schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Net Present Value (NPV): OpenChainGraph compute node' and 'Deterministic OpenChainGraph compute node,' which identifies the tool as a deterministic financial computation function. It is clear that it computes NPV, but it does not explain what NPV inputs or outputs are (e.g., discount rate, cash flows), relying on the tool name and title. It is distinguishable from sibling compute_* tools by the NPV label but not deeply differentiated from other compute nodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes ('auto', 'server', 'browser') and when browser delegation occurs ('gpu:true nodes always delegate'), which helps an agent decide how to invoke it. It also instructs to use synthetic/anonymised inputs only, offering a safety constraint, but it does not explicitly contrast with alternative tools or state when to prefer this over other compute or financial tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_odnsf_fee_recomputeOverdraft / NSF Fee RecomputationCRead-onlyIdempotentInspect
Overdraft / NSF Fee Recomputation: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/tools/662-odnsf-fee-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds transparency beyond annotations: it explicitly states the node is deterministic, inputs are not stored/logged/retained, and it produces an execution_hash for chain provenance. These details go beyond the simple readOnly/idempotent hints and describe side effects and data handling, which is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and highly repetitive. Phrases like 'OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node.' and the repeated compute-binding explanation inflate length without adding information. It also buries the only functional hint (the title) inside framework boilerplate, making it hard to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description focuses entirely on the computation framework (chain, compute modes, provenance) and omits the domain logic—what overdraft/NSF fee computation actually does, what inputs are expected (beyond generic policy_parameters), and what output is produced. Without an output schema, this leaves the tool functionally unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 repeats the parameter explanations from the schema (e.g., compute modes, parent_hashes) but adds minimal new insight. The policy_parameters field is left as a vague pointer to a manifest, providing no additional semantic grounding. It meets the baseline but does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title states 'Overdraft / NSF Fee Recomputation' but the description only describes the OpenChainGraph compute node mechanism (compute modes, parent hashes, execution hashes). It never states what the recomputation actually computes or what the input/output is. The function is left to the reader's inference from the title, which is insufficient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling recompute tools (e.g., recompute_payment_waterfall, recompute_fund_fees). It only explains compute binding modes, not the decision context for choosing this specific fee recomputation tool. Zero differentiation is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_oprisk_sma_2026Basel Operational Risk SMA (2026 Reproposal)ARead-onlyIdempotentInspect
Basel Operational Risk SMA (2026 Reproposal): OpenChainGraph compute node (capital_assessment). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-356-compute-oprisk-sma-2026.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses deterministic execution, server-side vs browser delegation, gpu:true behavior, transient non-retention of inputs, AP2 artifact export with execution_hash, and FV-status verification. No statement contradicts the readOnly/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but information-dense and front-loads the core identity and compute behavior before details like URLs and FV-status. It loses a point for redundant phrasing ('OpenChainGraph compute node' twice) and for deferring parameter fields to another document rather than summarizing them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It gives strong operational context (compute modes, privacy, artifact output, provenance) but no output schema exists and the core policy_parameters fields are opaque, deferred to a manifest. An agent could not reliably construct a full correct request from this description alone, so it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline applies and the structured descriptions already cover compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds only the instruction to use synthetic/anonymised inputs and defers policy_parameters field names to the tool's manifest, without adding schema-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a Basel Operational Risk SMA (2026 Reproposal) OpenChainGraph compute node for 'capital_assessment', which states the subject and resource clearly. It is not a tautology, but it relies on the title for the precise regulatory computation and does not explicitly distinguish itself from other compute_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or comparison to alternatives is provided; the tool is only placed in the OpenChainGraph setting. It contains usage constraints such as 'Use synthetic or anonymised inputs only' and compute mode behavior, but no guidance on when this tool should be selected over related Basel/compute tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_options_greeksOptions Greeks CalculatorARead-onlyIdempotentInspect
Options Greeks Calculator: OpenChainGraph compute node (risk_parameter). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: qfa-04-xva-cva-calculator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/qfa-01-options-greeks.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the read-only/idempotent annotations: deterministic execution, server-side versus browser-delegation compute routing, transient input processing with no storage or logging, and AP2 artifact exports with execution_hash for chain provenance. This gives an agent a clear and accurate model of what invoking the tool does and does not do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and compute-mode behavior, but it repeats the OpenChainGraph compute-node label twice and carries a long provenance/FV-status tail that is not needed for invoking the tool correctly. It is more dense than strictly helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers privacy, compute routing, provenance, and output feeds. However, it does not describe the actual expected options-Greeks inputs or artifact fields, and without an output schema an agent must go to an external manifest to construct policy_parameters and understand the returned artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The tool description does not add meaningful parameter-level semantics; it mostly repeats compute-mode behavior already present in the schema, and policy_parameters fields still must come from an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly identify this as a calculator for options Greeks, and the description adds that it is an OpenChainGraph compute node producing an AP2 artifact. It is distinguishable from most compute_* siblings by its focused risk-domain function, though it does not enumerate which Greeks or explicitly contrast itself with a specific sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: computing options Greeks as part of the OpenChainGraph pipeline, with downstream consumers listed. However, the description does not state when to choose this over other compute nodes, and the only concrete usage guidance concerns compute mode and synthetic-input handling rather than alternative-selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_parametric_trigger_payoutParametric Trigger Payout CalculatorBRead-onlyIdempotentInspect
Parametric Trigger Payout Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-252-validate-cat-bond-trigger-terms. Open at: https://ainumbers.co/chaingraph/art-251-compute-parametric-trigger-payout.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description adds substantial behavioral context: inputs are 'processed transiently... not stored, logged, or retained', gpu:true nodes 'always delegate to the browser', the node is 'deterministic', and it 'Exports an AP2 artifact with execution_hash for chain provenance'. The synthetic-inputs constraint is a meaningful usage boundary. No contradiction with annotations — the artifact export is consistent with a read-only compute node.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Densely informative but repetitive — 'OpenChainGraph compute node' appears twice in the first two lines — and the trailing URL plus FV-status receipt reads as a metadata dump appended without structural separation. Most sentences do earn their place (privacy, delegation, provenance), but the wall-of-text format and the redundant opener prevent a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The infrastructure envelope is thoroughly covered: compute modes, data-retention behavior, provenance artifact, downstream consumer, access URL, and offline verification receipt — and the strong annotations carry the safety profile. But the core domain semantics are absent: what a parametric trigger payout is, what policy_parameters must contain beyond 'see the manifest', and what the computed response actually looks like. With no output schema, that gap leaves an agent guessing about the substance of the computation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds no parameter-level meaning: the compute-mode explanation restates the schema's enum text ('auto' = server for gpu:false registered kernels, 'browser' = delegation URL), and policy_parameters guidance merely repeats 'See the tool's manifest for field names'. No defaults beyond 'auto', no example values, no payload structure hints are offered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify the resource ('Parametric Trigger Payout Calculator', 'OpenChainGraph compute node') and the downstream feed ('art-252-validate-cat-bond-trigger-terms') gives pipeline context, so an agent can roughly tell what domain it serves. However, the body never crisply states what the computation actually produces — it buries the purpose under execution mechanics (Cloudflare Workers, compute modes, AP2 artifact export) and never says 'computes the payout amount for a parametric trigger'. It distinguishes from siblings only via its domain name, not any explicit comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational context: 'Use synthetic or anonymised inputs only', compute-mode selection behavior, and pipeline placement ('Output feeds: art-252-validate-cat-bond-trigger-terms'). But it never states when to prefer this tool over an alternative or names any sibling, despite an enormous compute_* sibling set; the compute-mode guidance largely duplicates the schema's enum description rather than adding selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_perp_fundingPerp Funding and Carry CalculatorCRead-onlyIdempotentInspect
Perp Funding and Carry Calculator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-270-perp-funding-carry.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds substantial behavioral context: it explains that inputs are processed transiently and not stored, that compute:'browser' returns a delegation URL, that gpu:true nodes always delegate, and that it exports an artifact with an execution_hash. It also discloses the FV-status semantics as a snapshot, not a subscription. This goes well beyond the annotations and helps the agent understand side effects and determinism.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and filled with tangential infrastructure details (e.g., the exact URL and the long FV-status JSON path). It repeats 'OpenChainGraph compute node' and does not front-load the core purpose. Many sentences discuss provenance and compute bindings that are unlikely to help an agent invoke the tool correctly. The description would benefit from a succinct, purpose-first structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and four parameters including a nested object, the description fails to explain what the tool returns or what the actual calculation produces. It mentions 'exports an AP2 artifact' but never states the output values (funding rate, carry, etc.). An agent has no idea what a successful response contains or how to interpret policy_parameters fields. The description is incomplete for safe and correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds some nuance for the compute parameter (explaining 'auto' resolves based on gpu:false and registered kernel) and for policy_parameters (noting that they can be computed server-side under certain conditions). However, these details are already largely present in the schema descriptions. The description does not compensate for the absence of an output schema beyond stating an artifact is exported.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title names the tool 'Perp Funding and Carry Calculator', but the description never states what it actually calculates. It repeatedly identifies itself as an 'OpenChainGraph compute node' and focuses on compute modes, provenance, and the FV-status receipt. An agent cannot tell from the description that this tool computes perp funding rate and carry cost. The purpose is implied by the title only, which is insufficient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like compute_perp_margin or model_perp_position. The only usage-related instruction is a warning to use synthetic or anonymised inputs, but nothing about the intended scenario, prerequisites, or exclusions. The description does not help an agent decide if this is the right tool for a given task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_perp_marginPerp Margin and Liquidation CalculatorARead-onlyIdempotentInspect
Perp Margin and Liquidation Calculator: OpenChainGraph compute node (derivatives_margin_health). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-214-perp-position-lifecycle. Open at: https://ainumbers.co/chaingraph/art-213-perp-liquidation-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds substantial behavioral details: inputs 'are processed transiently ... not stored, logged, or retained', execution is 'deterministic', compute modes are thoroughly explained (server-side vs browser delegation), and the tool 'Exports an AP2 artifact with execution_hash for chain provenance'. These go far beyond what annotations alone convey, providing a comprehensive picture of side effects and execution behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive and logically structured, starting with the tool's identity, then execution modes, data handling, and output details. It includes a lot of necessary technical context (e.g., Cloudflare Workers, AP2 artifacts, FV-status) that is relevant for an agent to anticipate behavior. It is somewhat long but avoids redundancy, except for the compute mode explanation that duplicates the schema enum description. Overall, it is efficient for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers execution modes, data privacy, and output provenance, it leaves a critical gap: the actual content of 'policy_parameters' is not described, only referred to as 'See the tool's manifest for field names'. Without this, an agent cannot know what inputs are needed to perform the margin calculation. Additionally, there is no output schema or description of the response format beyond the AP2 artifact reference, so the exact result structure is unclear. These omissions prevent the description from being fully self-contained for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for all four parameters, including detailed behavior for the 'compute' enum and the purpose of 'policy_parameters'. The description does not materially add to the parameter semantics; it largely reiterates the compute mode information already present in the schema. Since schema coverage is 100%, a baseline of 3 is appropriate; the description does not need to compensate, but it also does not enhance understanding of the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a 'Perp Margin and Liquidation Calculator' and explicitly labels it as a compute node for 'derivatives_margin_health'. This makes the primary function clear. However, it does not explicitly distinguish itself from sibling tools like compute_perp_funding or model_perp_position, which could lead to ambiguity about the exact scope of 'margin and liquidation' calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers some usage guidance, such as 'Use synthetic or anonymised inputs only' and explains the compute modes (auto/server/browser), but it never explicitly states when to use this tool versus alternatives. There is no mention of when not to use it or which sibling tools cover related yet distinct scenarios. The output feed reference to art-214-perp-position-lifecycle hints at a downstream use case but is not a comparative guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_por_liabilities_compositePoR Liabilities ComposerBRead-onlyIdempotentInspect
PoR Liabilities Composer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-280-reserve-proof-verifier. Open at: https://ainumbers.co/chaingraph/art-540-por-liabilities-composer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| formula | No | |
| not_proven | No | |
| computed_root | No | |
| inclusion_verified | No | |
| por_input_supplied | No | |
| regulatory_framework | No | |
| composite_determination | No | |
| reserve_to_liability_ratio | No | |
| liabilities_attestation_source | No | |
| reported_total_liabilities_musd | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description is fully consistent with them (no contradiction). Beyond the annotations it adds meaningful behavior: transient processing with 'not stored, logged, or retained', the compute-mode delegation semantics (server vs browser URL), and the AP2 artifact with execution_hash for chain provenance. This is genuine added value over 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but repeats 'OpenChainGraph compute node' verbatim and is heavy with jargon (AP2 artifact, FV-status, gpu:false, execution_hash). The most actionable operational guidance (synthetic inputs, upstream artifact, provenance) is buried mid-to-late rather than front-loaded. Every sentence carries some information, but it is not optimally structured for quick agent consumption.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (so return format needn't be spelled out) and annotations cover the safety profile, the description covers the essentials an agent needs: compute modes, transient data handling, upstream chaining, artifact export, and a verification receipt (FV-status). The main gap is the domain semantics of PoR liabilities and the policy_parameters contents, but that is partially a schema limitation. Reasonably complete for calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3 applies. The description adds a little beyond the schema—it explains the compute:'auto' server-side resolution and elaborates that parent_hashes chain provenance—but the central policy_parameters object is only handled by deferral ('See the tool's manifest for field names') in both schema and description. Nothing extra is given about what policy parameters feed the decision function.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb+resource ('compute PoR liabilities') and identifies itself as a deterministic OpenChainGraph compute node, so an agent knows it computes PoR liabilities. However, the actual semantics are opaque: it never says what 'PoR liabilities' are, what the decision function does, or how this differs from domain-overlapping siblings like aggregate_summa_mst_liabilities, compute_asset_liability_coverage, or compute_15c3_3_reserve. Much of the text is mechanics (Cloudflare Workers, gpu:false, browser delegation) rather than the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many compute_*/aggregate_* siblings; no alternative tools are named. It does provide useful operational constraints ('Use synthetic or anonymised inputs only') and a chaining dependency ('Consumes upstream artifacts from: art-280-reserve-proof-verifier'), which helps an agent sequence it, but nothing about selection context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_portfolio_varPortfolio Covariance & VaR EngineARead-onlyIdempotentInspect
Portfolio Covariance & VaR Engine: OpenChainGraph compute node (risk_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: sim-03-basel-rwa-scenario-modeler. Output feeds: qfa-03-stress-test-engine, rca-01-frtb-ima-pre-validator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/qfa-02-portfolio-var-engine.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only, idempotent, non-destructive behavior, and the description adds substantial context: deterministic computation, transient processing with no retention/logging, server-side vs browser delegation behavior, artifact export with execution_hash, and offline-verifiable FV-status. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Important safety and execution details are front-loaded, but the description is cluttered: 'OpenChainGraph compute node' is stated twice, and the FV-status cryptographic-receipt sentence is tangential and hard for an agent to act on. A tighter description would keep the compute/privacy behavior without this redundant framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description supplies privacy behavior, compute-mode routing, upstream inputs, downstream outputs, and artifact/provenance context, which is substantial. Yet there is no output schema, and the description only says 'Exports an AP2 artifact' rather than what the computed value/response contains; policy_parameters field names are left to an unseen manifest, so actual invocation details remain incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the high-coverage baseline applies. The description does enrich the compute parameter by explaining actual server/browser behavior, but it does not help with the policy_parameters object, whose schema defers to an external manifest. Parent hashes and tool IDs are also only lightly contextualized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Portfolio Covariance & VaR Engine' and identifies itself as a risk_control OpenChainGraph compute node, so an agent can infer that it computes portfolio covariance/VaR. However, there is no explicit verb phrase like 'computes portfolio VaR from...', and it does not differentiate itself from close siblings such as simulate_var_monte_carlo or compute_var_backtest_traffic_light.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete operational guidance: 'Use synthetic or anonymised inputs only', explains the server/browser compute modes, and states the upstream/downstream pipeline. What it lacks is explicit when-to-use-versus-alternative guidance, so an agent must infer when this specific deterministic chain node is preferred over a Monte Carlo or backtest tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_pqc_deadline_ladderCNSA 2.0 Deadline Ladder CalculatorBRead-onlyIdempotentInspect
CNSA 2.0 Deadline Ladder Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-387-pqc-deadline-ladder-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given that annotations already mark readOnlyHint=true and idempotentHint=true, the description adds valuable context by stating the tool is deterministic, processes inputs transiently without storage or logging, and exports an AP2 artifact with an execution_hash. These details extend beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single long paragraph that includes non-essential elements such as an external URL and an FV-status file path, which do not help an agent decide whether to call the tool. It repeats 'OpenChainGraph compute node' and crams many details together, making it less scannable and less concise than it should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description bears the burden of explaining return values. It mentions exporting an AP2 artifact with an execution_hash, but it does not describe the structure or semantics of the deadline ladder result, nor does it clarify what fields belong inside the policy_parameters object. An agent would still struggle to craft a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the compute, parent_hashes, and parent_tool_ids parameters. The description reiterates the compute modes but adds no new meaning to those fields. For policy_parameters, it simply defers to an external manifest, providing no additional clarification, so the description offers little beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a CNSA 2.0 Deadline Ladder Calculator and an OpenChainGraph compute node (compliance_mandate), but it never states what the calculation actually computes or what the output represents. It is not a tautology, yet the core function is vague, making it hard to distinguish from similar tools like run_pqc_timeline_fit without deeper inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage context: it explains the compute modes (auto/server/browser) and warns to use synthetic or anonymised inputs only. However, it does not mention when to choose this tool over sibling tools that might address the same domain (e.g., run_pqc_timeline_fit), nor does it list alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_pt_yt_yieldPendle Yield Tokenization Analyzer (PT/YT)CRead-onlyIdempotentInspect
Pendle Yield Tokenization Analyzer (PT/YT): OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-273-pendle-yield.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, destructiveHint=false. The description does not contradict these. It adds meaningful context: inputs are transiently processed and not stored/logged/retained (privacy constraint), 'deterministic' execution, exports an AP2 artifact, and execution is delegated to browser for gpu:true nodes. This clarifies side effects (artifact creation, browser delegation) beyond the annotations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and unfocused: it leads with 'OpenChainGraph compute node (analytics_mandate)' and repeats 'deterministic' twice, then buries the actual behavior (compute modes, browser delegation) after provenance and links. It includes URLs that look like placeholders and a fidelity-status hash off-topic. More than half the text is provenance/infrastructure noise, not core usage, making it hard for an agent to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 4 params, no output schema, and propagation of parent hashes, the description covers execution modes, privacy, determinism, and artifact export. However, it never explains the decision function's domain (Pendle PT/YT yields) or what inputs policy_parameters actually expects — it defers to 'the tool's manifest'. An agent must consult an external manifest to know what to pass, which is incomplete for self-contained usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds semantics on top: it explains that compute:'auto' defaults to server for gpu:false nodes with registered kernels, and that gpu:true always delegates. It also explains parent_hashes as chaining from upstream artifacts and policy_parameters as 'input parameters for the decision function'. The description clarifies how the compute parameter behaves in different node contexts, which complements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Pendle Yield Tokenization Analyzer (PT/YT)' suggests a domain tool, but the description never states what it computes or analyzes. It mentions 'compute node', 'analytics_mandate', and 'decision function' without naming the actual output (e.g., PT/YT yields). The purpose is buried under infrastructure and provenance details, so an agent cannot tell what this tool does for the user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives (e.g., compute_* siblings). The description explains compute modes (auto/server/browser) at length, which is execution config, not use-case guidance. No exclusions or prerequisites are given. Since this is one of dozens of compute_* tools, the lack of differentiation is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_raroc_loan_priceRAROC Loan Pricing CalculatorARead-onlyIdempotentInspect
RAROC Loan Pricing Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-362-compute-raroc-loan-price.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive. The description adds valuable context: inputs are transient and not stored, synthetic inputs are recommended, and it exports an AP2 artifact with execution_hash. This goes well beyond the structured hints without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that front-loads purpose but then trails into a very long clause about compute modes, privacy, artifact export, a URL, and an FV-status link. Each sentence adds information, but the inclusion of URLs and status references makes it longer than necessary for operational clarity, though it remains structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, privacy, artifact export, provenance), the description covers the key operational aspects. It explains when server vs browser execution happens, what artifacts are produced, and the transient handling of inputs. It omits details on the actual calculation inputs, but the schema covers those, so nothing essential is missing for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for all four parameters. The description adds context only for the compute parameter (explaining mode behavior) and otherwise offers no extra semantic value for parent_hashes, parent_tool_ids, or policy_parameters, so it meets the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it is a 'RAROC Loan Pricing Calculator' and an 'OpenChainGraph compute node', making the verb and resource unmistakable. The specific name and mention of compliance mandate differentiate it from the many compute siblings without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the compute modes (auto/server/browser) and their conditions, which is useful for selecting the right execution path. However, it does not compare against alternative tools or state when not to use this tool, missing any route to the many other compute/classification siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_rbc_action_levelNAIC RBC Action Level CalculatorCRead-onlyIdempotentInspect
NAIC RBC Action Level Calculator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-253-run-illustration-selfsupport-test. Output feeds: art-257-calculate-claims-stp-economics. Open at: https://ainumbers.co/chaingraph/art-254-compute-rbc-action-level.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds substantial context on top: determinism, transient processing with no storage/logging/retention, browser delegation behavior, AP2 artifact export with execution_hash, and pinned upstream/downstream artifact IDs (art-253, art-257). The FV-status receipt adds a verifiable offline authenticity check. Nothing here contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The phrase 'OpenChainGraph compute node' appears twice in the first two sentences, and the FV-status tail is long, dense, and only loosely relevant to invocation. Many sentences are packed with useful context, but the repetition and peripheral provenance pipeline details mean not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining return values — it mentions a browser delegation URL and AP2 artifact but not what the RBC action level result actually contains. The core domain semantics (which action levels are produced, what policy_parameters the decision function needs) are punted to a manifest, making this definition infrastructure-complete but domain-incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does add meaning for compute (explains auto vs browser delegation and the gpu:true override) and clarifies why parent_hashes matter by naming the upstream artifact. However, policy_parameters — the actual decision inputs — are deferred to 'the tool's manifest' in both the schema and the description, leaving the core inputs undescribed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title as a noun phrase ('NAIC RBC Action Level Calculator: OpenChainGraph compute node') without ever explaining what an RBC action level is or what the decision function computes. The body focuses on infrastructure — compute modes, gpu flags, Cloudflare Workers, provenance — rather than the calculation itself. It also fails to distinguish this tool from the sibling compute_rbc_action_level_private that shares its core verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance vs. alternatives. 'Use synthetic or anonymised inputs only' implies a private counterpart exists for real data, but compute_rbc_action_level_private is never named, nor is calculate_naic_clo_rbc_factor or the upstream run_illustration_selfsupport_test discussed as routing options. The only usage guidance (auto vs browser vs server, gpu:true delegation) is parameter-level, not tool-selection-level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_rbc_action_level_privatePrivate-Input NAIC RBC Action LevelARead-onlyIdempotentInspect
Private-Input NAIC RBC Action Level: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-414-compute-rbc-action-level-private.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses significant behavior beyond the annotations: inputs are processed transiently and not stored, logged, or retained; the node is deterministic; it exports an AP2 artifact with execution_hash for chain provenance; and it cites an FV-status receipt. These details extend the readOnly and idempotent hints meaningfully 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but front-loaded with the core purpose and then covers compute modes, privacy, artifact, and FV-status. There is some redundancy ('OpenChainGraph compute node' appears twice) and the FV-status URL is detailed, but each section is purposeful. It is reasonably concise for the complexity it addresses, though it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (private inputs, compute modes, artifact export), the description covers essential context: execution behavior, privacy guarantees, determinism, and artifact generation with provenance. It does not mention the actual output value (the action level) but presumably that is the artifact contents; without an output schema, a brief note on what is returned would improve completeness. Still, it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds some value by explaining the compute parameter's execution semantics (server vs browser, gpu:true always delegates) and referencing the policy_parameters as input to the decision function. However, it does not elaborate on parent_hashes or parent_tool_ids beyond what the schema already says, and it leaves policy_parameters' internal fields to the manifest. It adds modest value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a 'NAIC RBC Action Level' and identifies it as a deterministic OpenChainGraph compute node. However, it does not differentiate itself from the sibling tool 'compute_rbc_action_level', which appears to be the non-private variant. The 'Private-Input' prefix hints at a distinction but the description never explains what makes it private or when to prefer it, so purpose is clear but sibling differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on compute modes: when 'auto' runs server-side, when 'browser' forces client-side delegation, and that gpu:true nodes always delegate. It also advises using only synthetic or anonymised inputs, which is an important constraint. However, there is no guidance on when to use this tool versus alternatives like the public compute_rbc_action_level, so it doesn't fully cover selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_reg_z_appendix_j_aprReg Z Appendix J APR SolverBRead-onlyIdempotentInspect
Reg Z Appendix J APR Solver: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-332-build-amortization-schedule. Output feeds: art-217-trid-apr-accuracy. Open at: https://ainumbers.co/chaingraph/art-215-reg-z-appendix-j-apr.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true, idempotentHint=true, destructiveHint=false, and the description adds significant behavioral context on top: the compute-mode delegation behavior (auto/server/browser, gpu:true always delegates), the privacy stance (inputs processed transiently, not stored/logged/retained), and the 'use synthetic or anonymised inputs only' constraint. All disclosures are consistent with annotations — deterministic matches idempotentHint, transient inputs match readOnlyHint. No contradiction; the description meaningfully extends what the annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text mixing operational compute-binding details, privacy policy, provenance, lineage, an open URL, and a FV-status verification hash. Several clauses (
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite high schema coverage and strong annotations, the definition is incomplete for an agent that must actually invoke it. The core gap is policy_parameters: the tool's decision function is never explained and its field names are deferred to an inaccessible manifest, yet it is the input that drives the APR computation. There is no output schema, and while the description says an AP2 artifact with execution_hash is exported, the actual computation semantics and expected parameter shape are absent. The provenance and privacy details are valuable but do not fill the invocation-critical hole.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 4 parameters have schema descriptions and the compute-mode paragraph roughly mirrors the compute enum. The description adds modest value by explaining the auto/server/browser semantics and the gpu:true delegation rule. However, the most important parameter, policy_parameters, is left unresolved — both the schema and description defer to 'the tool's manifest for field names,' which the agent cannot access. The description does not compensate for the opaque nested object it relies on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tools name and title are explicit about the resource (Reg Z Appendix J APR), but the description never states what the tool actually does — it describes the infrastructure (OpenChainGraph compute node, compute modes, browser delegation) rather than the computation semantics (what inputs yield what APR output). The lineage hints (consumes art-332-build-amortization-schedule, feeds art-217-trid-apr-accuracy) imply a chain context but don't disambiguate from closely related siblings like verify_trid_apr_accuracy or classify_qm_apr_apor_spread. Purpose is implied by name and lineage but not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives are named. The lineage references (consumes art-332, feeds art-217) give an implied chaining context, but the description never tells the agent when to pick this over sibling APR-domain tools (lookup_reg_z_thresholds, verify_trid_apr_accuracy, compute_hmda_rate_spread). The compute-mode paragraph is operational detail, not usage guidance. An agent is left to infer applicability 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.
compute_remittance_disclosureRemittance Disclosure Calculator (Reg E Subpart B)BRead-onlyIdempotentInspect
Remittance Disclosure Calculator (Reg E Subpart B): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-249-compare-corridor-cost. Open at: https://ainumbers.co/chaingraph/art-248-compute-remittance-disclosure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint), the description discloses deterministic compute, transient input processing with no storage/logging/retention, export of an AP2 artifact with execution_hash for provenance, and a FV-status snapshot for offline verification. These details are valuable for an agent deciding whether to call the tool and what to expect as side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and dense, containing technical details like the FV-status file path and URLs. It is structured logically (purpose, compute modes, privacy, artifact, output feed), but the verbosity may overwhelm an agent. Each sentence adds some information, but the description is not concise; it could be trimmed without losing essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain the expected output. It mentions 'Exports an AP2 artifact with execution_hash' and its downstream consumer, but does not specify the actual disclosure calculation result structure or the artifact's contents beyond the hash. Given the complexity, the description covers many aspects but leaves gaps in the output format and specific computation inputs/outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some context for the compute parameter by explaining the default behavior ('By default (compute:"auto") inputs are computed server-side...') and that 'gpu:true nodes always delegate to the browser', which enriches the enum semantics. However, it does not add significant meaning for parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a 'Remittance Disclosure Calculator (Reg E Subpart B)' and an 'OpenChainGraph compute node' that exports an AP2 artifact. This specifies the verb (compute), resource (remittance disclosure), and the regulatory context. It doesn't explicitly differentiate from siblings like check_reg_e_remittance_disclosure, but it does indicate its role as a compute node with deterministic behavior, implying calculation rather than validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on compute modes (auto/server/browser) and instructs 'Use synthetic or anonymised inputs only', but it doesn't state when to use this tool versus alternatives. No explicit when/not conditions or alternative tool names are given. The only usage context is about compute binding, which is more about execution environment than when to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_rwa_erba_2026ERBA / Standardized RWA Calculator (Basel Endgame 2026)BRead-onlyIdempotentInspect
ERBA / Standardized RWA Calculator (Basel Endgame 2026): OpenChainGraph compute node (capital_assessment). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-355-erba-standardized-rwa-calculator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false) already carry the safety profile, and the description adds substantial non-redundant behavior: deterministic execution, server-side vs browser-delegated computation semantics, transient input processing with no storage/logging/retention, an explicit 'use synthetic or anonymised inputs only' instruction, AP2 artifact export with execution_hash for provenance, and offline-verifiable FV-status semantics. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and contains dense, mostly purposeful operational detail. However, 'Deterministic OpenChainGraph compute node' appears twice, and the trailing Open-at URL plus FV-status snapshot explanation adds significant length that could be trimmed or moved. It earns a middle score: informative but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested policy_parameters object, the description needs to clarify the return contract, but it never states what the tool actually returns: the computed RWA value, an AP2 artifact, or just a delegation URL in browser mode. The core calculator inputs are also punted to a manifest the agent may not have. For a 4-parameter tool with a nested object and no output schema, key operational information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description adds some meaning for the compute parameter (Cloudflare Workers execution, browser delegation URL, gpu:true override) and for parent_hashes (execution_hash chain provenance), but the most important parameter, policy_parameters, is deferred to 'the tool's manifest' in both the schema and the description, leaving the calculator's real inputs unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause names a specific resource and computation scope — ERBA / Standardized RWA under Basel Endgame 2026 — and frames it as an OpenChainGraph compute node in a capital_assessment context. This distinguishes it from sibling calculators like compute_rwa_scenarios or compute_basel31_delta by regulatory regime. However, the core action is only expressed as 'Calculator/compute node' rather than a precise verb, and the actual computation inputs are deferred to the manifest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains operational mode selection (auto/server/browser and the gpu:true delegation rule) but never states when to choose this tool over alternatives such as compute_rwa_scenarios, compute_basel31_delta, or check_capital_adequacy_private. No explicit when-to-use, when-not-to-use, or sibling routing guidance is present; the only implied context is the regulatory label in the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_rwa_scenariosBasel RWA Scenario ModelerARead-onlyIdempotentInspect
Basel RWA Scenario Modeler: OpenChainGraph compute node (capital_assessment). Regulatory deadline: 2027-01-01 (Basel 3.1 output floor — UK PRA PS1/26 January 1, 2027). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-07-basel31-reporting-delta-calculator. Output feeds: ml-03-timeseries-anomaly-detector, qfa-02-portfolio-var-engine, rca-01-frtb-ima-pre-validator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/sim-03-basel-rwa-scenario-modeler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnlyHint=true and idempotentHint=true annotations: it states inputs are 'processed transiently', 'not stored, logged, or retained', and that the tool is 'deterministic'. It also details compute mode behavior (server vs browser delegation) and that it exports an AP2 artifact with execution_hash for provenance. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured, front-loading the purpose and regulatory context before compute modes, privacy, and artifact flow. Each sentence carries specific value (deadline, compute behavior, retentions, provenance, URL). While verbose, the organization makes it scannable for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description explains the output (AP2 artifact with execution_hash) and chains upstream/downstream artifacts. It covers compute semantics, input handling, regulatory deadline, and provides a URL and FV-status receipt. For a compute node with complex behavior, this is a complete description that leaves little essential information missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description adds little beyond the schema, only referencing 'See the tool's manifest for field names' for policy_parameters, which doesn't enrich parameter understanding. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Basel RWA Scenario Modeler' and an 'OpenChainGraph compute node (capital_assessment)', which is a specific verb-resource pair. It distinguishes itself from the many other compute_* siblings by detailing regulatory scope, deterministic execution, compute modes, and artifact integration. The purpose is unambiguous and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use different compute modes ('auto', 'server', 'browser') and clarifies that gpu:true nodes always delegate to browser. It also instructs to use 'synthetic or anonymised inputs only'. However, it does not explicitly contrast this tool with alternative siblings or state when NOT to use it, though the specific compute node context makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_scra_rate_capCompute SCRA Rate CapCRead-onlyIdempotentInspect
Compute SCRA Rate Cap: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-231-compute-mla-mapr. Open at: https://ainumbers.co/chaingraph/art-232-compute-scra-rate-cap.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: it explicitly states inputs are processed transiently and not stored, logged, or retained, and it discloses that an AP2 artifact with execution_hash is exported. It also explains compute mode delegation (browser vs. server), which aligns with the annotations. No contradiction with readOnlyHint, idempotentHint, or destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and not front-loaded. It opens with redundant generic phrases ('OpenChainGraph compute node'), then dives into execution details, provenance, URLs, and verification hashes, while omitting the essential information about the actual computation. Important info like transient processing is buried mid-text. Several sentences could be removed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks critical details for correct usage: it does not explain what policy_parameters should contain (deferring to a manifest), what the response structure looks like (no output schema), or how to select parent_hashes and parent_tool_ids. The technical overhead about execution modes is covered but the domain-specific inputs and outputs are not, making the tool incomplete for an agent to invoke properly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 repeats the compute mode semantics already present in the schema and adds only a pointer to the manifest for policy_parameters field names. It does not clarify parent_hashes or parent_tool_ids beyond the schema. No meaningful added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool computes an SCRA Rate Cap, but does not explain what that computation entails, what the rate cap is, or how it differs from other compute tools. The bulk of the description focuses on the OpenChainGraph compute infrastructure (compute modes, GPU delegation, provenance) rather than the domain-specific function, leaving the actual purpose vague and not clearly distinguished from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternative compute tools. The only directive, 'Use synthetic or anonymised inputs only,' is a constraint, not a usage recommendation. The mention of upstream artifacts from art-231-compute-mla-map implies a prerequisite but does not explain when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_settlement_efficiency_kpiSettlement Efficiency KPI EngineARead-onlyIdempotentInspect
Settlement Efficiency KPI Engine: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-78-csdr-penalty-calculator, art-80-ssi-conformance-checker, art-79-settlement-fail-predictor. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-84-settlement-efficiency-kpi.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially extends the readOnly/idempotent annotations: it discloses deterministic execution, Cloudflare-side vs browser-side delegation behavior, transient input handling with no storage/logging/retention, and the export of an AP2 artifact with execution_hash. This is exactly the kind of non-obvious behavioral context an agent needs. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and then fills in compute mode, privacy, provenance, and lifecycle relationships in a logical order. It is long and contains one repeated OpenChainGraph node framing plus FV-status detail that may be peripheral, but most sentences carry operational or safety-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description gives partial return context via the AP2 artifact/execution_hash mention but stops short of describing the expected response shape or the actual KPI fields. It also omits the policy_parameters field names, pointing instead to an external manifest. An agent could invoke it, but not with complete confidence about the exact output or policy input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all four parameters with 100% description coverage, so the baseline applies. The prose adds context by explaining compute-mode routing and by mentioning the upstream artifacts that could supply parent_hashes, but policy_parameters is still delegated to a separate manifest. The value added over the schema is moderate, not decisive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the tool as a Settlement Efficiency KPI Engine and an OpenChainGraph compute node, so the core function is clear from the first sentence. It also lists concrete upstream consumers and the downstream aggregator, which helps distinguish it from the many settlement-compute siblings. It would be stronger if it explicitly stated the KPI formula or exact output artifact, but the purpose is not ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to select this tool instead of an alternative. The description explains compute-mode routing and says to use synthetic or anonymised inputs, but those are operational constraints rather than tool-selection guidance. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_stock_token_collateral_haircutHalt + Staleness Collateral HaircutBRead-onlyIdempotentInspect
Halt + Staleness Collateral Haircut: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 505-tokenized-collateral-eligibility-checker, 508-repo-haircut-collateral-calculator. Open at: https://ainumbers.co/chaingraph/art-320-rhc-collateral-haircut.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds substantial context: deterministic execution, transient processing with no retention, browser-delegation behavior for gpu:true or browser mode, AP2 artifact export with execution_hash, and offline-verifiable FV-status. These are exactly the kind of behavioral disclosures beyond annotations that help an agent trust and predict invocation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is dense and contains useful execution details, but it repeats 'OpenChainGraph compute node' and buries the output and upstream dependencies after lengthy Cloudflare/browser mechanics. The FV-status receipt and URL add trust/context, though they are not essential for invoking the tool, so it is adequate but not tightly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (nested free-form policy_parameters, no output schema), and while the description covers compute modes, data retention, upstream artifact IDs, and provenance, it does not describe the normal server-mode response shape or the required policy_parameters fields. An agent can invoke it with defaults, but it cannot confidently construct a meaningful request or consume the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 even though the description does not explain parent_hashes, parent_tool_ids, or policy_parameters in detail. It does reinforce the compute enum semantics (auto vs server vs browser), but policy_parameters remains an opaque free-form object whose field names are deferred to 'the tool's manifest'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and the opening 'Halt + Staleness Collateral Haircut' plus 'OpenChainGraph compute node (collateral_mandate)' identify the domain and general purpose clearly. However, the description never states in a direct verb phrase what value it computes, and it does not differentiate itself from siblings like compute_repo_haircut or calculate_repo_haircut.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this tool over the many collateral-haircut or eligibility siblings; no alternatives or exclusions are named. The upstream artifact references and the 'use synthetic inputs' caution imply pipeline placement and safety constraints, but they do not constitute selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_stress_test_scenariosStress Test EngineARead-onlyIdempotentInspect
Stress Test Engine: OpenChainGraph compute node (risk_parameter). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: qfa-02-portfolio-var-engine. Output feeds: rca-01-frtb-ima-pre-validator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/qfa-03-stress-test-engine.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds valuable context beyond these: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash for chain provenance, and it provides a URL and FV-status receipt link. The compute mode behavior (server vs browser delegation) is also disclosed. This goes beyond what annotations provide, though it doesn't detail error behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich but somewhat sprawling. It front-loads the core identity (deterministic OpenChainGraph compute node) and compute mode behavior, which is good. However, it packs in a lot of peripheral details (URL, FV-status receipt, upstream/downstream consumers) that could be trimmed or moved. The sentence about FV-status is particularly verbose and could be simplified. It's not concise, but it's structured with the most important behavioral info first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with 4 parameters (0 required), full schema coverage, and no output schema, the description covers the key operational aspects: compute modes, transient processing, chain provenance, upstream/downstream links, and verification URL. The main gap is that it doesn't describe what the output artifact actually contains beyond 'AP2 artifact with execution_hash' — an agent might want to know the shape of the stress test results. But given the complexity of the chain context, the description is reasonably complete for invocation purposes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description adds context about the compute parameter's default behavior and the policy_parameters being computed server-side, but doesn't add much beyond the schema. The description mentions 'risk_parameter' as the node type, which hints at what policy_parameters should contain, but doesn't enumerate the field names (referring to 'the tool's manifest' instead). Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a deterministic OpenChainGraph compute node for stress test scenarios, with a specific resource (risk_parameter) and compute modes. It distinguishes itself from siblings by naming its upstream and downstream consumers (qfa-02-portfolio-var-engine, rca-01-frtb-ima-pre-validator, ptg-01-ap2-prompt-template-generator), which helps differentiate it from other compute_* tools. However, it doesn't explicitly state what 'stress test scenarios' means in terms of output, and the purpose is somewhat buried under implementation details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use compute:"auto" vs compute:"browser" vs gpu:true nodes, and explains the server-side vs client-side execution distinction. It also names the upstream artifact source and downstream consumers, which helps an agent understand the chain context. However, it doesn't explicitly state when NOT to use this tool or mention alternatives among the many compute_* siblings, though the chain context (qfa-03 vs qfa-02) provides implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_tempo_mainnet_fee_capacityTIP-1010 Mainnet Fee & Payment-Lane Capacity CalculatorBRead-onlyIdempotentInspect
TIP-1010 Mainnet Fee & Payment-Lane Capacity Calculator: OpenChainGraph compute node (treasury_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-389-tempo-mainnet-fee-capacity.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds useful behavioral details: inputs are processed transiently and not stored, logged, or retained; the tool exports an AP2 artifact with execution_hash for chain provenance; gpu:true nodes always delegate to the browser; and it includes an FV-status receipt path. This goes well beyond the annotation hints and gives an agent a clearer picture of side effects and execution context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, single-paragraph block that repeats 'OpenChainGraph compute node' (twice) and includes a URL and an FV-status path that are tangential to invocation. It is not structured with clear sections or bullets, and the redundancy and length make it harder to parse quickly. The front-loaded title is a strength, but overall it is wordy and not well organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with nested objects (parent_hashes, parent_tool_ids, policy_parameters) and no output schema, the description covers compute modes, determinism, transient processing, and artifact export. However, it does not explain how to construct policy_parameters (relying on an external manifest), and the response structure is described only vaguely as an AP2 artifact or browser delegation URL. This is not fully complete for an agent to invoke with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% description coverage for all four parameters, so the baseline is 3. The description adds context about how compute modes map to server/browser execution and notes that policy_parameters are computed server-side when applicable. However, the actual fields of policy_parameters are deferred to an external manifest, leaving a meaningful gap for agents trying to construct valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening sentence clearly identify the tool as a 'TIP-1010 Mainnet Fee & Payment-Lane Capacity Calculator' with the verb 'compute' and a specific resource. It is deterministic and described as an OpenChainGraph compute node, giving a clear sense of what it does. However, it does not explicitly differentiate itself from sibling tools like model_tempo_gas_economics or compute_tempo_fee_amm, relying on the name and title for distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to select this tool versus alternatives. It explains internal compute mode behavior (server-side vs browser delegation) and advises using synthetic inputs, but this is operational context, not tool-selection guidance. No alternatives are named, and the conditions that would drive an agent toward this tool rather than a sibling are left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_trid_tolerance_cureTRID Fee Tolerance and CureBRead-onlyIdempotentInspect
TRID Fee Tolerance and Cure: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-216-trid-tolerance-cure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially extends the annotations. It explains inputs are determinate, transient, not logged or retained, that compute modes decide server vs. browser execution, that browser mode returns a delegation URL, and that outputs are AP2 artifacts with execution_hash. These details are genuinely important and go far beyond readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but somewhat sprawling; it repeats 'Open a compute node' phrasing and mixes core invocation behavior with provenance, URL, and FV-status receipt links. Each sentence contributes something, but the structure could be more efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the strong privacy/provenance coverage, the description omits the exact decision semantics, the expected output artifact structure beyond execution_hash, and the required fields of policy_parameters; it points to a manifest rather than describing them. The omitted information is important for an agent to call it correctly, especially because no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% parameter descriptions, so the description correctly does not need to repeat them. It does refer to compute mode and policy_parameters, but it does not enrich the schema meaning beyond the manifest reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the domain ('TRID Fee Tolerance and Cure') and the category ('OpenChainGraph compute node'), but never states the core decision in plain action terms, such as checking whether fee changes are within tolerance and identifying a cure. It is not a pure tautology, but an agent would still have to guess what the output represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context—compliance mandate, synthetic-only inputs, browser/delegation modes—but does not say when to use this tool versus any of its many compliance-minded siblings, nor when it should not be used. There is no guidance about using an alternative such as verify_trid_apr_accuracy or another tolerance/curt assessment tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_va_funding_fee_residualVA Funding Fee and Residual IncomeCRead-onlyIdempotentInspect
VA Funding Fee and Residual Income: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-225-va-funding-fee-residual.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context beyond annotations: transient processing ('not stored, logged, or retained'), deterministic execution, browser delegation behavior, and the export of an AP2 artifact with execution_hash for chain provenance. This aligns with and reinforces the annotation safety profile without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and not front-loaded with the core purpose. It repeats 'Deterministic OpenChainGraph compute node' and includes a long URL and FV-status JSON link that are tangential to positional understanding. The essential information about what to pass and expect is buried under infrastructure details, making it inefficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a complex nested policy_parameters object and no output schema, the description should clearly explain the inputs needed and the expected output. It does not: the policy_parameters are only described as 'Input parameters for this tool's decision function' with a reference to a manifest, and the output is only vaguely mentioned as an AP2 artifact with execution_hash. An agent cannot correctly call this tool without external information, so the description is grossly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers each parameter (100% coverage), including descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters. However, the description adds no concrete meaning beyond the schema; for policy_parameters it merely says 'See the tool's manifest for field names', which is a pointer to an external resource an agent may not have. The description does not explain the VA funding fee specific inputs, making the parameter semantics insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the domain ('VA Funding Fee and Residual Income') and labels it a 'Deterministic OpenChainGraph compute node', but never explains what the tool actually computes or what the result looks like. It focuses on execution infrastructure (compute modes, Cloudflare Workers, AP2 artifact) rather than the domain logic, leaving an agent unable to determine what the tool is for beyond the title. It does not distinguish itself from the many other compute_* tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives, no explicit conditions, prerequisites, or exclusions. The description only explains compute mode options ('auto', 'server', 'browser') which are parameter values, not usage guidance. An agent has no way to know when this tool is appropriate over other VA-related tools or generic compute nodes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_var_backtest_traffic_lightVaR Backtesting Traffic-Light Zone CalculatorARead-onlyIdempotentInspect
VaR Backtesting Traffic-Light Zone Calculator: OpenChainGraph compute node (capital_assessment). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-429-var-backtest-traffic-light.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive hints. The description goes far beyond these by disclosing determinism, compute execution behavior (Cloudflare Workers, GPU delegation), transient input processing with no storage/logging, AP2 artifact export with execution_hash, and an FV-status receipt that verifies offline. This is rich behavioral context that fully complements 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads the purpose, then covers compute modes, security, and provenance efficiently. It repeats 'Deterministic OpenChainGraph compute node' twice, which is slightly redundant, and the long run-on first sentence could be split, but overall every section adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers compute modes, input privacy, output artifact, and a verification URL, which is substantial for a compute node. However, it does not describe the actual response payload or how to interpret the traffic-light zones, which would be valuable given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters already have descriptions in the input schema (100% coverage), so baseline 3 applies. The description adds some context, such as policy_parameters referencing the tool's manifest and compute modes affecting where computation happens, but it does not detail the individual field semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening sentence clearly identify the tool as a 'VaR Backtesting Traffic-Light Zone Calculator' and a compute node for 'capital_assessment', giving a specific resource and action. However, it does not explicitly differentiate itself from sibling tools such as compute_portfolio_var or simulate_var_monte_carlo, relying on the name alone for distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (server vs browser) and data handling but never states when to use this tool versus alternatives. There are no usage conditions, exclusions, or recommendations about selecting this specific traffic-light calculator over other VaR-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_verify_receiptVerify ReceiptBRead-onlyIdempotentInspect
Verify Receipt: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-652-verify-receipt.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false and destructiveHint=false, the agent only knows this is not read-only and not destructive. The description mentions deterministic execution and transient input handling (not stored), which is good. But it contains promotional/marketing language ('OpenChainGraph compute node', 'FV status...') and reads like a manual for a blockchain compute service rather than an API tool the agent uses. It says inputs are not stored and gpu:true always delegates to browser, which is behaviorally relevant, but the overall framing obscures rather than clarifies the actual end-user call flow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long and meandering, containing promotional lines ('Open at: ...' and 'FV-status ... snapshot'), which are not usage guidance. Repetitive detail on kernel execution and Cloudflare Workers adds noise. An agent would have to wade through infrastructure description to get to actual instructions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the compute parameter semantics and return context (browser delegation URL), discloses non-persistence, and mentions export artifact. For a single-parameter tool with 100% schema coverage, this is adequate; the missing piece is a crisp 'when to use this vs alternatives', which is slightly penalized here but otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the compute parameter (auto, browser, gpu) and its behavior fully, covering all branches. Since schema coverage is 100% (one parameter, fully described), the description adds detail about default behavior and delegation. However, it's verbose and mixes infrastructure details with usage, making it harder to extract the essential meaning of 'verify a receipt.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'OpenChainGraph compute node (compliance_control)' for verifying receipts. It specifies the compute options (auto/browser/gpu:true delegation behavior) and mentions exporting an AP2 artifact with execution_hash. While dense, it communicates a specific function and output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent that gpu:true nodes always delegate to the browser and that transient inputs are not storedferring the reader to compliance. It says the outputs are used for compliance_control and exports AP2 artifact with execution_hash, which hints at usage in a compliance context. However it never explicitly says 'use when you need to verify a receipt' or gives a direct instruction, and offers no alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_xirrXIRR (Irregular Dated Cash Flows)ARead-onlyIdempotentInspect
XIRR (Irregular Dated Cash Flows): OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-326-tvm-xirr.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Disclosure goes well beyond the annotations: the description reveals that inputs are processed transiently and not stored, logged, or retained, that execution occurs on Cloudflare Workers for eligible nodes, and that gpu:true nodes always delegate to the browser. It also discloses that the output is an AP2 artifact carrying execution_hash for chain provenance and that the FV-status URL is a snapshot, not a subscription. This is a rich behavioral profile consistent with the read-only and idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with compute-mode semantics and then moves through privacy, provenance, and verification, which is a sensible order. However, it is verbose and contains redundancy ("OpenChainGraph compute node" twice), commands the agent to follow an external manifest link and a verification URL, and includes provenance details that are relevant to audit but only marginally to tool selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an optional 4-parameter array, nested objects, and no output schema, the description covers the key concerns: where execution happens, what the response is (a browser delegation URL in browser mode, otherwise an AP2 artifact plus execution_hash), and how provenance can be verified offline. The remaining gap is that policy_parameters is a nested opaque object whose field names are only available via an external manifest, so an agent cannot construct the cash-flow inputs without fetching that document; this nevertheless is a single identifiable gap in an otherwise complete definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and the baseline is 3. The description's discussion of compute modes largely restates what the schema says for compute, and it does not illuminate the actual contents expected inside policy_parameters; it merely points to an external manifest for field names. It adds no real semantic value beyond the schema, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title "XIRR (Irregular Dated Cash Flows)" conveys the compute target, and the description adds that it is a deterministic compute node producing an AP2 artifact. However, the description never actually states what XIRR computes (e.g., the rate of return for a series of irregularly dated cash flows), relying entirely on the name and title. It also does not differentiate this tool from the near-sibling compute_irr, which appears in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete operational guidance: the default compute:"auto" path, when "browser" delegation is returned, and that gpu:true nodes always delegate. It also instructs users to supply synthetic or anonymised inputs only, which is a genuine usage rule. However, there is no when-to-use guidance relative to alternative financial compute tools (compute_irr, compute_npv, compute_annuity), so an agent must infer when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_markdown_documentMarkdown Document ConverterDRead-onlyIdempotentInspect
Markdown Document Converter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-191-conversion-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-189-markdown-document-converter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While the annotations (readOnly, idempotent, non-destructive) are present, the description adds some behavior details by mentioning deterministic processing, transient input handling with no storage/logging/retention, and the requirement to use synthetic or anonymised inputs. However, these are stated cryptically and lack clarity for an agent, so the added transparency is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive, with multiple sentences restating the same idea (e.g., 'Deterministic OpenChainGraph compute node' and then repeating compute mode details). It is not front-loaded with the essential purpose; instead, it buries the user in technical jargon and redundant phrasing, making it difficult to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context about the tool's return values and the actual conversion semantics. It mentions exporting an AP2 artifact with an execution_hash but does not describe the structure of the output or what the conversion receipt contains. There is no explanation of how the conversion works, what inputs are used for conversion, or what the final consumer receives, making it incomplete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full parameter descriptions, so the description adds little extra meaning. It repeats information about the compute parameter and mentions parent_hashes/parent_tool_ids without elaborating beyond the schema. The description does not clarify the semantics of policy_parameters or how they relate to the conversion, leaving the parameter meanings no more explicit than in the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Markdown Document Converter' but fails to specify the output format or the actual conversion process. The heavy use of jargon like 'OpenChainGraph compute node' and 'compliance_mandate' obscures the core function, making it unclear what the tool actually does beyond being a converter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It focuses entirely on operational details like compute modes and chaining parameters, without explaining the use case, scenario, or context in which a user would select this tool over other conversion or document tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_tabular_dataTabular Data ConverterCRead-onlyIdempotentInspect
Tabular Data Converter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-191-conversion-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-190-tabular-data-converter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful transparency beyond the annotations: it states the tool is deterministic, processes inputs transiently (not stored/logged/retained), advises using synthetic or anonymised inputs, and explains compute modes (auto/server/browser) and their side effects (browser delegation). It also mentions exporting an AP2 artifact with execution_hash, which clarifies output behavior. These details align with the read-only, idempotent annotations and provide useful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose, filled with extraneous details like the 'FV-status' URL, 'snapshot, not subscription' note, and repetitive phrases. It does not front-load the essential purpose and mixes operational metadata with functional description. This buries the key information and makes it hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the length, the description lacks critical information needed to actually use the tool: it never states what 'conversion' performs, what input data is expected beyond the schemas, what output format is produced, or how policy_parameters should be populated. The reference to a manifest for policy_parameters is incomplete. Given the complexity of the parameters, the description is not sufficient for an agent to confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters, but the description adds some nuance: it explains the compute parameter's default behavior based on gpu:false/true nodes and clarifies that parent_hashes come from upstream ChainGraph AP2 artifacts. However, the policy_parameters description is still vague ('See the tool's manifest for field names'), adding little practical meaning. Overall, schema coverage is high, and the description enriches a few points but does not fully clarify the most complex parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name 'convert_tabular_data' implies a conversion task, but the description never specifies what conversion is performed (e.g., formats, transformations). It focuses on compute infrastructure (Cloudflare Workers, browser delegation) and provenance artifacts rather than the actual functionality. This leaves the tool's core purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any specific scenarios, input requirements, or comparisons to other converter tools (e.g., convert_markdown_document). Without usage context, an agent cannot decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_tempo_fee_ammTempo Fee-AMM Conversion CalculatorCRead-onlyIdempotentInspect
Tempo Fee-AMM Conversion Calculator: OpenChainGraph compute node (treasury_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-388-tempo-fee-amm-converter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description richly discloses behavioral traits beyond annotations: inputs are transient and not stored/logged/retained, synthetic or anonymised inputs are required, it exports an AP2 artifact with execution_hash, and it explains compute modes (server vs browser delegation). It also provides verification links and notes the FV-status is a snapshot, not a subscription. All this adds significant context beyond the static annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, covering compute modes, data handling, artifact export, and links. It is organized but contains redundant phrasing (e.g., 'OpenChainGraph compute node' repeated) and includes auxiliary links that could be considered secondary. It is not concise, but it is structured and provides necessary detail in a logical order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested object parameter and no output schema, the description is incomplete. It does not explain what the conversion actually does, what inputs are semantically required (e.g., fee, AMM parameters), or what the output artifact contains beyond execution_hash. It also punts on policy_parameters by saying 'See the tool's manifest', which is not self-contained. The core functionality and expected outputs are underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover 100% of parameters, so the baseline is 3. The description adds some context for compute mode and mentions policy_parameters are for the decision function, but does not meaningfully extend beyond schema descriptions. It does not clarify the structure or expected values of policy_parameters beyond referencing the manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a 'Tempo Fee-AMM Conversion Calculator' and a 'Deterministic OpenChainGraph compute node', but does not specify what inputs are converted or what the output represents. It does not explain the conversion logic or distinguish from related siblings like 'convert_tempo_fee_amm' vs 'compute_tempo_mainnet_fee_capacity'. The purpose is vague and largely restates the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no exclusions, no comparison to sibling tools, and no explicit conditions for choosing this tool. The compute mode details relate to execution environment, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
correlate_ap2_cartmandate_x402Ap2 X402 Cart CorrelationARead-onlyIdempotentInspect
Ap2 X402 Cart Correlation: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-595-ap2-cartmandate-hashchain-builder. Open at: https://ainumbers.co/chaingraph/art-596-ap2-x402-cart-correlation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reasons | No | |
| disclosure | No | |
| cart_chain_intact | No | |
| correlation_status | No | |
| merchant_matches_authorization_to | No | |
| cart_total_matches_authorization_value | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing deterministic execution, transient input processing with no storage, logging, or retention, server-side execution on Cloudflare Workers, browser delegation behavior, and AP2 artifact export for chain provenance. This is strong transparency for a tool already marked readOnly, idempotent, and non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly dense but structured around execution semantics, data handling, provenance, and verification status. Each sentence carries useful operational information, though the FV-status sentence could arguably be trimmed without losing the core invocation guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Taken together with the rich input schema, output schema, and annotations, the description provides enough operational context: compute modes, transient input handling, upstream artifact, provenance output, and a verification URL. The missing piece is the exact decision function or correlation semantics, but the surrounding context makes the tool usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes all parameters, and the description adds relevant context beyond schema: it explains compute mode behavior in detail, identifies where parent_hashes come from via the upstream artifact, and characterizes policy_parameters as the decision-function input. The only weak spot is that policy_parameters field names are said to be in the manifest rather than here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node that consumes the upstream art-595-ap2-cartmandate-hashchain-builder artifact and exports an AP2 artifact with an execution_hash, so the agent can infer it performs AP2 X402 cart correlation after the hashchain build step. However, it never states exactly what correlation logic runs or what the result means, so the core operation remains implicit rather than fully specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives actionable compute-mode guidance: auto computes server-side for gpu:false registered kernels, browser forces client-side delegation, and gpu:true always delegates. It also warns to use synthetic or anonymised inputs only. But it does not explicitly say when to prefer this tool over its siblings or what prerequisites must exist beyond referencing the upstream artifact.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crosswalk_agent_payment_rail_trustAgent Payment Rail Trust CrosswalkBRead-onlyIdempotentInspect
Agent Payment Rail Trust Crosswalk: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-132-agent-key-rotation-auditor. Output feeds: art-134-agent-directory-publish-readiness. Open at: https://ainumbers.co/chaingraph/art-133-agent-payment-rail-trust-crosswalk.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent/non-destructive annotations by disclosing deterministic execution, transient input processing with no storage/logging/retention, Cloudflare Workers server-side execution versus browser delegation, the AP2 artifact with execution_hash, upstream/downstream artifact links, and the offline-verifiable FV-status receipt. This fully characterizes the tool's runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and organized, but it opens with a redundant repetition ('OpenChainGraph compute node') and includes long provenance/FV-status details. It would be easier to scan as structured bullets, and the true purpose is not front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The operational, privacy, provenance, and compute-mode details are thoroughly covered, and there are no required parameters, so a default invocation is plausible. However, the tool's actual crosswalk decision function is never explained, policy_parameters require external manifest lookup, and there is no output schema or description of the AP2 artifact shape beyond the execution_hash.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline holds and the schema already explains compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds a little operational color around compute:'auto' versus 'browser' and transient handling of inputs, but it does not define the policy_parameters fields, instead deferring to 'the tool's manifest'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (compliance_mandate)' and says it is deterministic, but it never states what the 'agent payment rail trust crosswalk' actually computes or maps. This is more specific than a tautology, yet an agent cannot tell from the text what domain decision this node makes or how it differs from similarly named chain/comparison tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The upstream/downstream artifact IDs ('Consumes upstream artifacts from art-132... Output feeds art-134...') imply a specific chain position, and the compute-mode details give invocation context. However, there is no explicit when/when-not statement, no alternative tool is named, and an agent is left to infer when this should be selected over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
currency_basket_indexCurrency Basket IndexARead-onlyIdempotentInspect
Currency Basket Index: OpenChainGraph compute node (currency_basket_index). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-560-oracle-price-aggregation. Open at: https://ainumbers.co/chaingraph/art-561-currency-basket-index.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| fence | No | |
| basket_id | No | |
| as_of_date | No | |
| components | No | |
| not_proven | No | |
| index_value | No | |
| amount_scale | No | |
| component_count | No | |
| rejected_inputs | No | |
| basket_shift_pct | No | |
| structural_error | No | |
| target_weight_sum | No | |
| parent_print_hashes | No | |
| dominant_contributor | No | |
| dominant_contribution_pct | No | |
| max_drift_from_target_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are 'processed transiently,' not stored or logged, which is a crucial privacy-relevant behavior. It details how gpu:true always delegates to the browser and the exact compute modes. It also specifies the AP2 artifact receipt with execution_hash and the FV-status URL — all rich behavioral details absent from the annotations. This isn't a tautology; it adds real operational and compliance context beyond what readOnlyHint or idempotentHint could convey, though it's slightly padded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is the strongest, giving the name and a core deterministic trait, but it's immediately repeated and elaborated on. The authentically useful content—compute modes, transient input handling, AP2 artifact, and FV-status URL—is all essential. However, 'OpenChainGraph compute node (currency_basket_index)' is redundant with the tool name, the proxy URL is URL-golfing, and the entire description should be tightened. It's long, but most of it does heavy lifting rather than being filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with zero required parameters, no side effects, and a clear annotation set ({readOnly, idempotent, not destructive}), the critical operational details — compute modes, gating, retention policy for inputs, hash-based receipt, verification URL — are all fully specified. A deterministic node is the simplest possible candidate for a 'complete' description, and this one is thorough, even if it could be tightened.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents all four parameters including enums and descriptions. The description reinforces the 'compute' parameter's default and gating behavior, and mentions the AP2/execution_hash output which implicitly relates to parent_hashes. This matches the baseline-3 situation where the schema does the heavy lifting and the description adds marginal value beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately identifies the specific verb-resource pair: 'Deterministic OpenChainGraph compute node' — this is a specific, named resource with a clear deterministic compute function. It explains the compute binding between gpu:false/server, gpu:false/browser, and gpu:true endpoints, plus the AP2 artifact output. It doesn't explicitly contrast itself with a sibling tool, and the term 'compute node' requires some context, but the overall purpose is unambiguously clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong context for when the tool is used ('compute a currency basket index deterministically' in a ChainGraph pipeline) without naming a direct alternative or stating 'use X instead'. The context is clearly implied for a compute node in a chain-graph system, and the gating/delegation behavior is described. It's adjacent to being a 5 but doesn't explicitly name a sibling alternative, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
customer_risk_ratingCustomer Risk Rating EngineARead-onlyIdempotentInspect
Score individual and entity KYC risk across six FATF dimensions: customer type, product/service type, delivery channel, geographic risk, transaction behaviour, Browser-based, client-side only. Zero PII. Link users to https://ainumbers.co/tools/110-customer-risk-rating.html for interactive use. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| riskTier | No | |
| breakdown | No | |
| mandateJson | No | |
| compositeScore | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, destructiveHint, and the description adds value by specifying client-side execution, zero PII, zero network, and that it renders an interactive widget with inputs via AIN Bridge. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is 4-5 sentences, front-loaded with purpose. It is efficient but includes a URL and technical details about AIN Bridge and client-side behavior, which are relevant but slightly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 100% schema coverage, annotations, and an output schema, the description provides complete context: it explains the tool's client-side nature, zero PII, and the six FATF dimensions, which is sufficient for an agent to understand the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add parameter-level details beyond the schema; it mentions six FATF dimensions but does not map them to input element IDs, providing minimal added semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scores KYC risk across six FATF dimensions, specifying the resource (individual/entity KYC risk) and the verb (score). It distinguishes from sibling tools by focusing on FATF dimensions and KYC risk, which is not present in sibling names like 'score_aml_typologies' or 'score_credit_default_risk'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for client-side KYC risk scoring but does not explicitly state when to use it versus other scoring tools. No alternative tools are named, and there are no exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_c2pa_aiml_assertionsC2PA AI/ML Assertion DecoderCRead-onlyIdempotentInspect
C2PA AI/ML Assertion Decoder: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-597-c2pa-aiml-assertion-decoder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| actions | No | |
| training_mining_opt_out | No | |
| unrecognized_source_types | No | |
| digital_source_type_summary | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining that inputs are processed and stored transiently, are not logged or retained, and that browser execution returns a delegation URL. It also explains behavior around gpu selection, deterministic execution, AP2 artifact exporting, and execution_hash provenance tracking, all of which are valuable behavioral disclosures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening repeats 'OpenChainGraph compute node' twice, and the description gets bogged down with a long compute-routing explanation plus URLs and FV-status hash details. Most of the information is useful, but it is not cleanly front-loaded around the actual decode purpose and contains redundant and confusingly worded sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to clarify what exactly an AI/ML assertion decoder consumes or produces, leaving the primary domain coverage to inference from the written name. `policy_parameters` is described only as 'policy_parameters for this tool's decision function... manifest field names', and none of the parameter semantics for chaining/decode behavior is actually made usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema actually covers all four parameters with textual descriptions, so value from the body description is less necessary. The body adds no real meaning for `parent_hashes`, `parent_tool_ids`, or `policy_parameters`, and merely repeats the define input compute semantics already captured by the connected schema-authentication.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with the title 'C2PA AI/ML Assertion Decoder' and then classifies the tool as an 'OpenChainGraph compute node (compliance_control)' but never states what actually gets decoded, what inputs are expected, or what the decoded result is. It is essentially a partial restatement of the name/title plus generic infrastructure context with no explicit verb or resource target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance that explains when to use this tool instead of siblings such as validate_c2pa_manifest, verify_c2pa_signatures, or other C2PA-related tools. The model mentions compute routing and says 'Use synthetic or anonymised inputs only', but this is an operational constraint, not guidance for tool selection among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_eip7702_authorization_tupleEIP-7702 Authorization-Tuple DecoderCRead-onlyIdempotentInspect
EIP-7702 Authorization-Tuple Decoder: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-614-eip7702-authorization-tuple-decoder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| nonce | No | |
| reasons | No | |
| verdict | No | |
| chain_id | No | |
| scope_note | No | |
| recovery_id | No | |
| delegate_address | No | |
| recovered_signer | No | |
| recovery_id_source | No | |
| authorization_tuple_hash | No | |
| cross_chain_authorization | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint:true, idempotentHint:true, destructiveHint:false) already cover the safety profile, and the description layers meaningful context on top: inputs 'are processed transiently... not stored, logged, or retained,' execution exports 'an AP2 artifact with execution_hash for chain provenance,' and there's an explicit warning to use synthetic inputs only. The compute-routing behavior (server-side on Cloudflare Workers vs. browser delegation) is clearly disclosed. A small deduction for the duplicated 'OpenChainGraph compute node' phrasing and slight ambiguity about whether 'exports an AP2 artifact' implies a persistent side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description opens with redundancy — 'OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node.' — repeating the same nominal phrase. The provenance-receipt boilerplate at the end ('a snapshot, not a subscription; this receipt verifies offline...') is tangential footer content irrelevant to invoking the tool. While the compute-mode logic is reasonably tight, the block would benefit from front-loading what the decoder operates on before descending into Cloudflare/GPU plumbing and provenance receipts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (so return values needn't be described) and all parameters are covered at the schema level, the description's job is the operational envelope — and that envelope is well covered: compute routing, transient processing, no retention, browser delegation behavior, artifact provenance, and live verification links. However, the description assumes substantial shared domain context about what an 'EIP-7702 authorization tuple' is in this OCG/ChainGraph ecosystem, and never bridges from the template language to the specific act of decoding a tuple for the caller.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — every parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) is documented at the schema level, establishing the baseline of 3. The description does reinforce the compute parameter's semantics (default 'auto' resolves to server-side; 'browser' returns a delegation URL; gpu:true always delegates), but adds nothing about parent_hashes or policy_parameters beyond what the schema already states. The description meets but does not elevate beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title ('Decode EIP-7702 Authorization Tuple', 'EIP-7702 Authorization-Tuple Decoder') provide the only real purpose signal — the description body merely appends 'OpenChainGraph compute node (compliance_control)', which restates the name's intent in a template label without explaining what decoding an authorization tuple entails. An agent never learns what the tuple input looks like or what fields are produced. Without the name, the description alone would be nearly meaningless about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is zero guidance on when to call this tool versus any alternative — no reference to siblings, no conditions like 'use this when you have an EIP-7702 authorization tuple to inspect'. The only conditional logic present (compute:'auto' vs 'browser', gpu:false vs gpu:true) concerns compute-routing behavior, not semantic when-to-use-this guidance. The security directive 'Use synthetic or anonymised inputs only' hints at a compliance context, but no exclusion criteria 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.
decode_mpp_sessionTempo MPP Agent MandateARead-onlyIdempotentInspect
Tempo MPP Agent Mandate: OpenChainGraph compute node (payment_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-34-tempo-fit-diagnostic. Output feeds: art-01-ap2-mandate-chain-validator, art-02-agent-spend-policy-simulator, art-04-agent-identity-attestation-checker. Open at: https://ainumbers.co/chaingraph/art-36-tempo-mpp-agent-mandate.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash, and it provides a URL and FV-status receipt. This goes beyond the annotations and gives the agent important operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and contains a lot of technical jargon and URLs that may not be essential for an agent to call the tool correctly. It front-loads the core purpose but then includes a long list of upstream/downstream artifacts and a verification URL that could be considered noise. It is not concise, but it is structured with key information early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, no output schema), the description provides substantial context: compute modes, transient processing, artifact export, upstream/downstream connections, and a verification receipt. It does not explain the return format, but since there is no output schema, the description could have been more explicit about what the tool returns. Still, it is fairly complete for an agent to understand the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some context about compute modes and mentions that policy_parameters are computed server-side for gpu:false nodes, but it does not add significant new meaning beyond the schema. The baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a deterministic OpenChainGraph compute node for a payment mandate, and it explains the compute modes and what the tool exports. It distinguishes itself from siblings by mentioning it consumes specific upstream artifacts and feeds specific downstream artifacts, which helps differentiate it from other chain-related tools. However, the purpose is somewhat buried in a dense technical description and the title 'Tempo MPP Agent Mandate' is not immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use server vs browser compute modes, and mentions that gpu:true nodes always delegate to browser. It also warns to use synthetic or anonymised inputs only. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_x402_paymentx402 Header Decoder, Payload Linter & 402 Flow SimulatorARead-onlyIdempotentInspect
Decode an x402 payment header or lint an exact-scheme PaymentPayload, and describe the HTTP-402 verify/settle flow. Use when a developer is integrating x402 and needs to inspect a header, check a payload shape, or understand the flow. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| decoded | No | |
| findings | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds value by noting it renders an interactive widget, runs client-side with zero PII and no network calls. This goes beyond annotations but could mention any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences covering function, usage, and behavior. It is front-loaded with the main action. A minor improvement could be to structure the flow more explicitly, but no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers function, usage, and some behavioral details. With output schema present, return values are not needed. However, the interactive widget aspect is mentioned but not fully explained, leaving some gaps for a tool with nested output and interactive features.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% but the sole parameter 'inputs' has a generic description. The tool description fails to explain how to use this parameter to achieve the stated purposes (decode, lint, describe). The description adds little meaning beyond the schema, which is insufficient for a single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool decodes x402 headers, lints PaymentPayloads, and describes the HTTP-402 flow. The verb 'decode', 'lint', and 'describe' are specific to x402 operations, distinguishing it from siblings like 'simulate_x402_flow' and 'lint_x402_v2_migration'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use when a developer is integrating x402 and needs to inspect a header, check a payload shape, or understand the flow. This provides clear context but does not mention when not to use or alternatives, slight gap for a top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derive_beacon_fair_sampleBeacon-Seeded Fair-Sampling DeriverCRead-onlyIdempotentInspect
Beacon-Seeded Fair-Sampling Deriver: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-583-beacon-seeded-fair-sampling-deriver.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare read-only/idempotent/non-destructive, and the description adds meaningful behavior beyond that: inputs are 'processed transiently... not stored, logged, or retained' and it 'Exports an AP2 artifact with execution_hash' — a non-obvious side effect. It also explains server-side vs browser delegation behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and repetitive — 'OpenChainGraph compute node' appears twice, and the compute-mode details duplicate the schema enum descriptions. It front-loads a title-like sentence instead of a crisp purpose statement and appends a URL and FV-status receipt path that are peripheral to invocation. Several sentences could be trimmed without losing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param tool with no output schema, the description should state what the tool functionally derives and what it returns; instead, it focuses on compute plumbing and provenance metadata. It mentions 'Exports an AP2 artifact with execution_hash' but never explains the fair-sampling logic or how policy_parameters drive it, leaving an incomplete mental model for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters. The description adds a general input-safety constraint but does not elaborate on the meaning or relationship of parent_hashes, parent_tool_ids, or policy_parameters beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Beacon-Seeded Fair-Sampling Deriver' and an 'OpenChainGraph compute node (compliance_control)', but it never states the core action explicitly (e.g., 'derives a fair sample from a beacon seed') or what distinguishes it from dozens of sibling compute tools. It adds compute-node context and an output artifact, so it is not a tautology, but the actual function must be inferred from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use vs alternatives is provided; no sibling tool is named or contrasted. The description does give compute-mode selection context and an input-safety warning ('Use synthetic or anonymised inputs only'), but that is invocation guidance, not tool-selection guidance. This falls short of the dimension's requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derive_parametric_index_from_receiptsParametric Index DeriverCRead-onlyIdempotentInspect
Parametric Index Deriver: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-251-compute-parametric-trigger-payout. Open at: https://ainumbers.co/chaingraph/art-309-parametric-index-deriver.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint. The description adds valuable behavioral details: inputs are processed transiently, not stored, logged, or retained, and advises using synthetic or anonymised inputs, which is a privacy measure. It also reinforces determinism, which aligns with idempotency. This goes beyond the annotations and provides useful operational transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive. Phrases like 'OpenChainGraph compute node (compliance_mandate)' and 'Deterministic OpenChainGraph compute node' are redundant. It also includes lengthy URLs and JSON paths that clutter the description without adding clarity. The core information could be conveyed in a few concise sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is rich in technical configuration details but misses the essential context of what the tool actually does. It does not explain the concept of a 'parametric index', how receipts are transformed, or how this tool fits into a broader workflow. For a complex tool with nested objects and optional parameters, this is a significant gap that would leave an agent confused about the tool's purpose and integration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema descriptions are thorough, covering compute modes, parent_hashes chaining, parent_tool_ids, and policy_parameters with detailed explanations. The tool description does not add additional parameter meaning beyond what's in the schema. Since schema coverage is 100%, the baseline of 3 is appropriate; the description adds no extra value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is vague about the tool's primary function. While the title 'Parametric Index Deriver' hints at deriving an index from receipts, the description focuses on compute modes, chain graph nodes, and compliance mandates without clearly explaining what the parametric index is or how receipts are used to derive it. An agent would struggle to understand the core purpose 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description discusses compute modes (auto, server, browser) but does not provide context for when to invoke this tool over other similar index or receipt-processing tools. There is no mention of typical use cases or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_timeseries_anomaliesTime-Series Anomaly DetectorARead-onlyIdempotentInspect
Time-Series Anomaly Detector: OpenChainGraph compute node (risk_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: sim-03-basel-rwa-scenario-modeler. Output feeds: rca-01-frtb-ima-pre-validator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/ml-03-timeseries-anomaly-detector.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation set already includes readOnlyHint, idempotentHint, and destructiveHint, which the description does not contradict. The description adds meaningful behavioral details: transient processing with no storage/logging/retention, requirement to use synthetic/anonymised inputs, server vs browser execution semantics, and chain-provenance export via execution_hash. It also discloses the FV-status receipt as a snapshot rather than subscription. These are exactly the behavioral traits an agent needs to know beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and heavily front-loaded with the compute-mode explanation and retention policy, but it also includes low-value operational boilerplate such as the full URL and FV-status receipt path that is unlikely to help an agent select or call the tool. The critical information is present and reasonably ordered, but several sentences add marginal selection value, making it long relative to the decision-relevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with four parameters and no output schema, the description covers execution modes, input chaining, retention, and provenance enough to call it safely. However, it does not describe the return format beyond an ambiguous artifact mention, nor does it clarify what constitutes an anomaly result for a user relying on the tool for detection. Given its complexity and lack of output schema, more detail on the response shape would improve completeness, but the core invocation pathway is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema provides thorough descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters, including enum values and API field semantics. The tool description adds context about the policy_parameters decision function and upstream chaining, but does not substantially clarify parameter format beyond the schema. Baseline 3 is appropriate because the schema carries the semantic weight and the description adds only marginal operational context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a Time-Series Anomaly Detector OpenChainGraph compute node and relates it to consuming an upstream basel scenario modeler and feeding downstream validators. It distinguishes its role by name and pipeline context, but the explicit verb describing what the tool returns for a plain user request is not clearly stated. It names related sibling tools (detect_transaction_anomalies) only indirectly via similar naming, so differentiation is partial but contextually useful.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and where execution occurs, which helps an agent decide how to invoke it for the desired processing location. It does not explicitly state when to use this tool versus sibling detection tools, nor does it give conditions for choosing alternatives. The compute-mode guidance is actionable, so there is a moderate level of usage direction, but selection criteria relative to siblings are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_transaction_anomaliesIsolation Forest Transaction Anomaly DetectorARead-onlyIdempotentInspect
Isolation Forest Transaction Anomaly Detector: OpenChainGraph compute node (risk_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-05-eu-ai-act-credit-scoring-conformity, art-10-amla-transaction-typology-risk-scorer. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/ml-01-isolation-forest.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description enriches the readOnlyHint, idempotentHint, and destructiveHint annotations with substantial behavioral context: inputs are transient, not stored/logged/retained; compute modes determine server-side vs browser delegation; it exports an AP2 artifact with execution_hash. It also explicitly cautions on input data nature, which goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but information-dense; each sentence adds meaningful context (compute modes, privacy, provenance, links, verification status). It is front-loaded with the tool's identity and purpose. While somewhat verbose, it does not contain fluff, though the FV-status hash detail could be considered extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, no output schema, execution modes, upstream/downstream dependencies), the description covers most invocation-relevant context: transient processing, input constraints, artifact export, and lineage. It lacks an explicit description of the return value/artifact structure, but the extensive behavioral details compensate for most of the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3), but the description adds detailed semantics for the 'compute' parameter (auto/server/browser behavior, gpu:true delegation) and clarifies policy_parameters' role. It does not add to parent_hashes/parent_tool_ids, but the schema already describes those well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first line both clearly state this is an Isolation Forest Transaction Anomaly Detector for OpenChainGraph risk_control. The description distinguishes it from sibling tools by its specific anomaly detection technique and domain (transactions), not just a generic compute node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and data handling constraints (e.g., 'Use synthetic or anonymised inputs only'), but does not explicitly state when to choose this tool over alternatives like detect_timeseries_anomalies. No when-to-use or when-not-to-use guidance is provided beyond execution details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
determine_deposit_insurance_coverageDeposit Insurance Coverage DeterminationCRead-onlyIdempotentInspect
Deposit Insurance Coverage Determination: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-507-determine-deposit-insurance-coverage.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that inputs are processed transiently and not stored/logged/retained, and the use of synthetic inputs. It also mentions AP2 artifact export with execution hash. This goes beyond annotations (readOnly, idempotent) and adds useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and jargon-heavy, mixing compute mode details with URLs and FV-status references. The core domain purpose is buried under infrastructure talk. Every sentence does not earn its place; much is tangential to calling the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks essential info: what the tool returns (no output schema), what policy_parameters should contain, and how to interpret the insurance coverage result. For a compliance tool, this is severely incomplete. An agent cannot reliably invoke it without external manifest lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions are complete for compute, parent_hashes, and parent_tool_ids, but policy_parameters is a free-form object with only a note to 'see the tool's manifest'. The description does not explain what fields are needed for insurance coverage determination. Agent left without critical input information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a 'Deposit Insurance Coverage Determination' compute node and mentions a decision function, but never explains what deposit insurance coverage means or what the tool outputs. The actual purpose is implied by the name but not elaborated. It distinguishes from siblings only by name, not by function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides detailed compute-mode guidance (auto/server/browser) but no when-to-use vs alternatives. An agent cannot tell when to use this tool instead of the many other compliance compute nodes. No exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_canton_readinessCanton Tokenization Readiness DiagnosticARead-onlyIdempotentInspect
Canton Tokenization Readiness Diagnostic: OpenChainGraph compute node (readiness_diagnostic). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: 504-settlement-risk-capital-optimizer. Open at: https://ainumbers.co/tools/503-canton-tokenization-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses several behavioral traits: determinism ('Deterministic'), side effects (inputs are 'not stored, logged, or retained'), output artifact ('Exports an AP2 artifact with execution_hash'), FV-status snapshot semantics ('a snapshot, not a subscription; this receipt verifies offline'), and compute delegation behavior. This is significant added context. It loses a point because it does not disclose the behavior of the output for the gpu:false kernel case beyond saying it is 'computed server-side' — the description of what the readiness output actually is remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is over-loaded, cramming compute-mode semantics, transient-input privacy, artifact export, downstream feed name, tool URL, and an FV-status hash into one dense paragraph. The most actionable info (purpose, compute modes, inputs-privacy) is front-loaded, but the FV-status block and URL are tangential detail that could be moved to its own field/page. Each sentence does earn partial place but there is redundancy (the compute enum repeats what the schema already says).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with zero required params, an output schema is absent which is a gap for a diagnostic that produces an artifact, but the description compensates by naming the artifact type and the downstream consumer. It covers compute modes, input privacy, determinism, chaining inputs and verification status. It does not describe the actual diagnostic result shape or thresholds (what makes Canton readiness pass/fail), which an agent would need to decide how to act on the output. Still, for a deterministic compute node with an established kernel, it's substantially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 4 parameters (100% coverage): compute has an enum with detailed descriptions, parent_hashes and parent_tool_ids are described, and policy_parameters is described as the input for the decision function. The description adds value by explaining the compute semantics ('auto' default, server for gpu:false, browser always returns delegation URL), which is the most complex parameter, and by explaining the purpose of parent_hashes (chain provenance), which is clarified by the mention of 'chain.parent_hashes in the export'. Policy parameters are vague ('See the tool's manifest for field names') but the description reiterates the server-side processing nuance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('diagnose') and resource ('Canton Tokenization Readiness'), which is clear. However, the title and description are nearly identical, and the description immediately pivots to a lengthy technical explanation of compute modes and ChainGraph provenance, so the core purpose gets diluted. It distinguishes itself from the many other run_*_diagnostic siblings by naming the specific output artifact (504-settlement-risk-capital-optimizer) and a formula feed, which helps, but it still does not crisply state what a 'readiness diagnostic' does — how readiness is assessed or what the output represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use guidance on compute modes: 'compute:"auto"' for server-side when gpu:false, 'compute:"browser"' to force client-side, and notes that gpu:true nodes always delegate. It also tells the user to use synthetic or anonymised inputs only. However, it does not explain when to choose the server side vs browser mode relative to the tool's objective, nor does it name an alternative sibling tool that should be used instead in borderline cases. It provides operation context, but not a decision rule for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
digest_gleif_snapshotGLEIF Snapshot DigestBRead-onlyIdempotentInspect
GLEIF Snapshot Digest: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-599-gleif-snapshot-digest.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true and idempotentHint=true in annotations, the description's strongest contribution is its transparency about processing guarantees: inputs are 'processed transiently,' 'not stored, logged, or retained,' and the digest is a snapshot that 'verifies offline regardless of whether that file is ever fetched.' This goes well beyond what the structured annotations convey. The description is consistent with the annotations — deterministic matches idempotentHint, and nothing suggests mutation despite the vague 'cryptographic_mandate' tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
This is a dense, run-on wall of prose with parentheticals piled inside parentheticals, including the raw FV-status hash, full URL, and the awkward '— a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched' coda. While every sentence does carry information, the lack of any structure (no bullets, no sentence-per-idea, no explicit out-there head noun) forces the reader to parse a lot. The most important facts are not front-loaded; the description opens by repeating the tool name and then dives straight into the most technical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description does explain the primary output (an exported AP2 artifact with execution_hash for chain provenance) and points to a verification resource. However, it never addresses what happens to the four input parameters in practice — policy_parameters is entirely unexplained beyond the schema, and the chain-linking semantics of parent_hashes are delegated to the schema. Given the tool's claimed sophistication, the description leaves the agent to infer a lot of the computational contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — all four params (compute, parent_hashes, parent_tool_ids, policy_parameters) are already well-documented in the input schema, including the compute enum values and the chain-linking semantics of parent_hashes. The description adds operational color (e.g., compute default behavior) that mirrors rather than extends the schema. It does not introduce any new parameter-specific guidance beyond what an agent could extract from the schema, so no bonus beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly establishes this as a deterministic OpenChainGraph compute node that digests a GLEIF snapshot and exports an AP2 artifact with an execution_hash — specific verb (digest), resource (GLEIF snapshot), and product (chain-proven artifact). It partially differentiates from the ~1,000 siblings by foregrounding its determinism and the 'snapshot, not a subscription' distinction, though it never explicitly names a differentiating sibling. Jargon density ('cryptographic_mandate', 'FV-status') slightly obscures the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete execution-context guidance: default 'auto' computes server-side on Cloudflare Workers, 'browser' forces client delegation, and gpu:true always delegates. However, it never tells the agent when to choose this digesting tool over a sibling (e.g., build_digest_manifest, verify_execution_hash) — the comparison is solely between compute modes within the tool, not against alternatives. The 'use synthetic or anonymised inputs only' warning is useful operational guardrailing but not usage-routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dispose_carf_status_messageCARF Status Message DispositionARead-onlyIdempotentInspect
CARF Status Message Disposition: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-504-classify-carf-reportable. Open at: https://ainumbers.co/chaingraph/art-505-dispose-carf-status-message.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false. The description adds meaningful behavioral context: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash, and it includes a FV-status receipt that is a snapshot not a subscription. It also discloses the browser delegation behavior for gpu:true nodes. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the tool's identity and compute behavior, but it includes several tangential details (URL, FV-status JSON path, 'a snapshot, not a subscription' explanation) that may not be essential for invoking the tool correctly. It's a single paragraph with no wasted sentences, but the provenance/receipt details could be trimmed or moved to a separate field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description covers the key operational aspects: compute modes, server vs browser execution, transient input handling, upstream artifact dependency, and provenance export. It lacks explicit return value details (beyond 'returns a browser delegation URL' for browser mode and 'Exports an AP2 artifact'), but the deterministic compute node context and execution_hash mention provide 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.
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 some context about compute modes and policy_parameters being computed server-side, but it doesn't add much beyond the schema's own descriptions. The description mentions 'policy_parameters' but defers to 'the tool's manifest for field names', which is a minor gap. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'CARF Status Message Disposition' with 'OpenChainGraph compute node (compliance_mandate)' and 'Exports an AP2 artifact with execution_hash for chain provenance.' It identifies what the tool does (disposes of a CARF status message as a deterministic compute node) and distinguishes it from siblings by naming the upstream artifact 'art-504-classify-carf-reportable'. However, it doesn't explicitly contrast with a sibling tool like 'classify_carf_reportable' or 'plan_aml_disposition_sample', so sibling differentiation is partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is a deterministic OpenChainGraph compute node, consumes upstream artifacts from art-504-classify-carf-reportable, and states compute mode selection rules ('auto' server-side vs 'browser' forces client-side delegation, gpu:true always delegates). It doesn't explicitly say when NOT to use this tool or name alternative tools, but the compute mode guidance and upstream dependency provide usable selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draft_ap2_mandate_credentialGoogle AP2 Mandate BuilderBRead-onlyIdempotentInspect
Google AP2 Mandate Builder: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-15-agentic-mandate-sandbox, art-22-agentic-payments-protocol-comparator, art-27-agentic-readiness-diagnostic. Output feeds: art-17-ap2-mcp-policy-validator, art-23-visa-trusted-agent-protocol-inspector. Open at: https://ainumbers.co/chaingraph/art-16-google-ap2-mandate-builder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the description discloses determinism, transient processing ('not stored, logged, or retained'), client-side delegation behavior, gpu:true delegation, and FV-status as a snapshot that verifies offline. These are substantive behavioral details that add real context and do not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and largely front-loaded with purpose and compute behavior, but it repeats 'OpenChainGraph compute node' in consecutive sentences. The trailing URL and FV-status receipt provide useful provenance context but add bulk that is not strictly necessary for tool invocation. It is organized but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a complex tool with no output schema and a nested policy_parameters object, the description compensates well: it explains compute modes, transient data handling, upstream/downstream artifact chains, and the output artifact's execution_hash. It does not detail the exact return structure, but it points to the manifest and verification URL, making it largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly restates the compute enum logic already present in the schema, and for policy_parameters it only points to 'the tool's manifest for field names' without adding concrete field semantics. parent_hashes and parent_tool_ids receive no extra clarification beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: it is an 'OpenChainGraph compute node (payment_policy)' that 'Exports an AP2 artifact with execution_hash for chain provenance.' This makes the tool's mandate-building purpose clear. However, it does not distinguish itself from closely related siblings such as build_google_ap2_mandate or validate_ap2_mandate_credential.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides execution-mode guidance and an input constraint ('Use synthetic or anonymised inputs only'), but it never says when to choose this tool over alternatives. No sibling tool or alternative condition is mentioned, so an agent has little help deciding between this and the many other mandate/AP2 builders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emit_chaingraph_artifactEmit a ChainGraph artifact envelopeARead-onlyIdempotentInspect
Makes ChainGraph tools agent-callable (ChainGraph Standard v0.1 §3.1). Mode 1 — supply pre_computed_artifact (exported from the browser tool): validates §4 schema fields, recomputes execution_hash via SHA-256 over canonical {policy_parameters, output_payload}, returns verified structuredContent. Mode 2 — supply tool_id + policy_parameters: returns an artifact template envelope and browser prefill URL so an agent can hand the user a pre-filled link; GPU sims always delegate to the browser per §9.2. Mode 3 — supply tool_id only: returns node metadata and artifact schema scaffold. Mode 4 (Compute Binding, v0.4) — supply tool_id + policy_parameters + compute:"server" (or compute:"auto" for gpu:false nodes): runs the registered kernel server-side and returns a verified v0.4 artifact with execution_hash + output_payload in one round-trip. No browser required. gpu:true nodes always delegate to browser. readOnlyHint: true. Zero PII, zero payload logging. Pair with verify_execution_hash (independent hash verification) and build_chaingraph (DAG wiring).
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" = server for gpu:false nodes (default); "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always use browser regardless of this flag. | |
| tool_id | No | ChainGraph node tool_id (e.g. "art-01-ap2-mandate-chain-validator"). Looked up in chaingraph.json nodes. Required unless pre_computed_artifact is supplied. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph artifacts this call chains from. Placed into artifact.chain.parent_hashes (ChainGraph Standard v0.1 §5 chain block). | |
| parent_tool_ids | No | tool_ids corresponding to parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for the tool (mirrors the tool's Policy Mandate input fields). Used for Mode 2 browser prefill and Mode 4 server-side compute. | |
| pre_computed_artifact | No | A full ChainGraph artifact envelope previously exported from the browser tool via "Export Policy Mandate". When supplied, the worker validates §4 required fields, recomputes execution_hash, and returns a verified structuredContent. This is the recommended path: run the tool in-browser, export JSON, call emit_chaingraph_artifact to verify and receive a structured receipt. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations (which already declare readOnlyHint=true and idempotentHint=true). It specifies 'Zero PII, zero payload logging,' explains the delegation behavior for GPU nodes, and describes the return artifacts (verified structuredContent, template envelope, etc.). There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but well-organized into numbered modes, making it easy to scan. Each sentence adds value. Minor conciseness improvement could be made by shortening the sibling mention, but overall it is efficient for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 modes, 6 parameters, no output schema), the description is thorough. It covers all modes, expected returns, and pairing with siblings. It could optionally mention the output format structure, but the absence is acceptable since no output schema exists. The description equips the agent well for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds deep meaning to each parameter. For example, 'pre_computed_artifact' is explained as the recommended path with a usage workflow, and 'compute' is detailed with its enum values and their effects. It clarifies how parameters map to the four modes, going well beyond the schema's type and description fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Makes ChainGraph tools agent-callable' and enumerates four distinct modes with specific inputs and outcomes. It effectively distinguishes this tool from siblings like 'verify_execution_hash' and 'build_chaingraph' by explicitly naming them as companions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use each mode by listing required parameters (e.g., Mode 1: supply pre_computed_artifact; Mode 2: tool_id + policy_parameters). It also notes constraints like 'GPU sims always delegate to browser per §9.2' and 'gpu:true nodes always delegate to browser.' However, it does not explicitly state when not to use the tool, though this is largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_cross_margin_benefitFICC-CME Cross-Margining EstimatorARead-onlyIdempotentInspect
FICC-CME Cross-Margining Estimator: OpenChainGraph compute node (risk_parameter). Regulatory deadline: 2027-06-30 (cross-margining benefit (W-C). FICC-CME customer expansion Dec 2025.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-48-treasury-clearing-fit-diagnostic. Output feeds: qfa-02-portfolio-var-engine, qfa-03-stress-test-engine. Open at: https://ainumbers.co/chaingraph/art-51-cross-margining-benefit-estimator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses deterministic execution, compute-mode behavior (server-side Cloudflare Workers vs browser delegation), transient non-retention of inputs, AP2 artifact export with execution_hash, and FV-status snapshot verification. These are substantive behavioral details that annotations alone do not provide. There is no contradiction with the readOnlyHint or idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and compute behavior, but it is verbose, including regulatory deadlines, a URL, and a long FV-status receipt hash that are not necessary for invoking the tool. Each sentence adds some context, but the density reduces scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich behavioral and provenance context, the description leaves the core policy_parameters fields undocumented, pointing to an external manifest. With no output schema, the agent cannot determine what inputs the decision function requires or what the response contains beyond an AP2 artifact with execution_hash. This is a significant gap for a compute tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds some context around compute modes and policy_parameters but does not enumerate the policy_parameters field names, referring instead to the tool's manifest. This is adequate but not additive beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a FICC-CME cross-margining estimator and an OpenChainGraph compute node for risk_parameter. It names the cross-margining benefit (W-C) and regulatory context, which distinguishes it from siblings like estimate_ficc_margin_netting, though the core verb 'estimates' is only implicit in the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context: it consumes art-48-treasury-clearing-fit-diagnostic, feeds qfa-02-portfolio-var-engine and qfa-03-stress-test-engine, and instructs users to use synthetic or anonymised inputs only. However, it does not explicitly state when to choose this tool over siblings or when not to use it, so the guidance is contextual rather than decisive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_cross_venue_margin_capitalCrypto Cross-Venue Margin & Off-Exchange Settlement EstimatorBRead-onlyIdempotentInspect
Crypto Cross-Venue Margin & Off-Exchange Settlement Estimator: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-406-cross-venue-margin-estimator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond annotations by detailing compute modes (auto/server/browser, client-side delegation for gpu:true), transient processing (inputs not stored, logged, or retained), and artifact export with execution_hash for provenance. It also notes the FV-status is a snapshot, not a subscription, adding non-obvious behavioral detail. This thoroughly complements the read-only and idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive (e.g., 'OpenChainGraph compute node' appears twice) and is not front-loaded with the tool's purpose. It jumps into compute modes and provenance details before stating what the tool computes. Several sentences are dedicated to URLs and status receipts, which could be shortened. The structure lacks a clear 'what it does' statement at the top.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers execution modes, privacy, output artifact, and provenance, but fails to explain what the estimator actually computes, what inputs like 'policy_parameters' contain, or what the response looks like. It references a manifest for field names, leaving a gap for a tool with a nested object. While it provides rich context on behavior, the core computational purpose remains vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mentions 'policy_parameters' but explicitly defers to 'the tool's manifest for field names', adding no real semantic value. Compute modes are already explained in the schema enum. The description does not clarify the structure or meaning of 'policy_parameters' beyond what the schema provides, so it adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title clearly states the tool is a 'Crypto Cross-Venue Margin & Off-Exchange Settlement Estimator', and the description repeats 'OpenChainGraph compute node' but never specifies what the estimation actually does (e.g., calculating margin requirements, settlement exposure). The description focuses on compute modes and provenance rather than defining the computation itself, but the name and title give a clear verb-resource relationship that distinguishes it from siblings like 'estimate_cross_margin_benefit' and 'estimate_ficc_margin_netting'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'estimate_cross_margin_benefit' or 'compute_perp_margin'. It does state 'Use synthetic or anonymised inputs only', which is a usage constraint, but there is no context for selecting this tool over siblings, nor any mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_ficc_margin_nettingFICC Margin & Netting EstimatorARead-onlyIdempotentInspect
FICC Margin & Netting Estimator: OpenChainGraph compute node (risk_parameter). Regulatory deadline: 2027-06-30 (repo-margin economics (W-B).). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-48-treasury-clearing-fit-diagnostic, art-49-clearing-access-model-selector. Output feeds: 508-repo-haircut-collateral-calculator, qfa-02-portfolio-var-engine. Open at: https://ainumbers.co/chaingraph/art-50-ficc-margin-netting-estimator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several important behaviors beyond annotations: it processes inputs transiently without storage/logging, it is deterministic, it exports an AP2 artifact with execution_hash for chain provenance, and it delegates to browser or server based on compute mode. However, with readOnlyHint=true, idempotentHint=true, and destructiveHint=false already declared, the description adds useful detail about execution location and data handling, but doesn't address authentication or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and contains several distracting elements: a full URL, a FV-status receipt path with a hash, and mentions of 'repo-margin economics (W-B.)' which is cryptic. The essential information (what it does, compute modes, determinism, transient processing) is buried under regulatory and provenance noise. It could be cut by half without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (nested objects, compute modes, upstream/downstream chain), the description covers execution behavior, data handling, and provenance. However, it lacks explicit guidance on how to construct the policy_parameters object—referring to a manifest not shown—and does not explain expected return values beyond mentioning the AP2 artifact. Since it consumes upstream artifacts, an agent might need more clarity on required inputs for chaining.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all parameters are documented in the schema. The description adds context that policy_parameters are computed server-side for gpu:false nodes, and that parent_hashes are execution_hash values from upstream artifacts. But it does not add semantic detail about the policy_parameters fields themselves—it points to a manifest that the agent may not have. So it adds minimal value beyond the schema for the policy_parameters object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states what the tool does: it is an OpenChainGraph compute node for FICC margin and netting estimation, tied to a regulatory deadline (2027-06-30) and repo-margin economics. It identifies itself as a deterministic compute node with specific compute modes. However, it does not explicitly distinguish itself from sibling tools like estimate_cross_margin_benefit or estimate_cross_venue_margin_capital, though it does mention upstream and downstream artifacts that help situate it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes (auto/server/browser) and when they are used, and it identifies consuming/upstream artifacts. But it does not explicitly state when to use this tool versus alternatives like estimate_cross_margin_benefit or compute_multilateral_netting. The usage context is implied through the artifact graph but not stated as a direct 'use this when...' guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_decision_treeDeclarative Decision-Tree EvaluatorARead-onlyIdempotentInspect
Declarative Decision-Tree Evaluator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-628-declarative-decision-tree-evaluator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | No | |
| bounds | No | |
| weight | No | |
| message | No | |
| tree_id | No | |
| verdict | No | |
| error_code | No | |
| scope_note | No | |
| tree_version | No | |
| matched_node_id | No | |
| matched_citation | No | |
| closed_operator_set | No | |
| tree_digest_recomputed | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds substantial behavioral context: deterministic execution, transient input processing with no storage/logging/retention, browser delegation behavior, gpu-dependent execution, and AP2 artifact export with execution_hash. This goes well beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose but becomes verbose and repetitive, e.g., 'OpenChainGraph compute node' appears twice. It also includes a long URL and FV-status hash that are not relevant to selecting or invoking the tool, making it less concise than it should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, output schema, and annotations, the description covers the key operational context: compute modes, privacy guarantees, synthetic input requirement, and artifact provenance. The only notable gap is that policy_parameters field names are deferred to an external manifest, which is not provided inline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description reinforces compute mode behavior and mentions policy_parameters, but it does not add meaningful detail beyond the schema, such as concrete policy_parameters field names or parent hash semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a deterministic OpenChainGraph compute node that evaluates a declarative decision tree, with a specific title and resource. However, it does not explicitly differentiate itself from the many sibling evaluate_* tools, relying on the title rather than naming what makes this evaluator distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful context about compute modes, server-side vs browser delegation, and the instruction to use synthetic or anonymised inputs only. It does not, however, state when to prefer this tool over alternatives or when not to use it, so the usage guidance 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.
evaluate_globe_de_minimis_exclusionGloBE Permanent De Minimis Exclusion EvaluatorBRead-onlyIdempotentInspect
GloBE Permanent De Minimis Exclusion Evaluator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-637-globe-de-minimis-exclusion.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial behavioral context beyond them: determinism, transient input processing ('not stored, logged, or retained'), AP2 artifact export with execution_hash for chain provenance, browser delegation for gpu:true nodes, and FV-status snapshot semantics that verify offline regardless of network availability. There is no contradiction with the annotations; the artifact export is consistent with a read-only compute result rather than a persistent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is about 170 words with clear redundancy: 'OpenChainGraph compute node' appears twice in back-to-back sentences, the opening phrase duplicates the title, and the compute-mode mechanics are repeated almost verbatim from the schema's own parameter description. The trailing provenance URLs and FV-status receipt details add navigation noise for an invocation-focused definition, though the 'snapshot, not a subscription' wording does carry a real behavioral distinction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Operational execution is well covered — compute binding, transient processing, artifact export, and verification — but with no output schema the response contract is under-specified: the description never states what the evaluation result contains (eligibility determination, thresholds) or what policy_parameters must include ('See the tool's manifest' is the only pointer). An agent can invoke the compute mechanics safely but cannot know the decision function's inputs or the shape of the returned artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3, and the description contributes little beyond the schema: it adds the synthetic/anonymised input policy and frames parent_hashes within the execution_hash chain-provenance model. However, it adds nothing for parent_tool_ids and, critically, defers the policy_parameters fields to an external manifest rather than describing the de minimis decision inputs the agent must supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'GloBE Permanent De Minimis Exclusion Evaluator' and an OpenChainGraph compute node, but the lead phrase simply restates the title and the actual decision being computed — whether an entity qualifies for the OECD GloBE permanent de minimis exclusion — is never stated in terms of inputs or thresholds. It does not differentiate itself from the closely related sibling evaluate_globe_safe_harbour_tests, so the name and title carry most of the semantic weight.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no domain-level guidance on when to use this tool versus the GloBE sibling family (evaluate_globe_safe_harbour_tests, compute_globe_jurisdictional_etr, compute_globe_topup_tax). The only guidance offered is invocation mechanics — compute mode selection, which the schema already documents — and the data policy directive to 'Use synthetic or anonymised inputs only'. No alternatives, exclusions, or decision context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_globe_safe_harbour_testsGloBE Transitional Safe Harbour Test EvaluatorARead-onlyIdempotentInspect
GloBE Transitional Safe Harbour Test Evaluator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-456-globe-safe-harbour-tests.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Further to the read-only and idempotent annotations, the description discloses deterministic execution, server-side vs browser-side behavior, transient input processing with no storage or logging, artifact export with execution hash, and offline-verifiable FV-status. This is exactly the kind of behavioural context that helps an agent trust and invoke the tool correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is rich and front-loaded with its identity and its compute behaviour, but it is also redundant in places and overloaded. 'Deterministic OpenChainGraph compute node' appears twice, and the FV-status block occupies attention without providing information needed for ordinary invocation. The wording is efficient overall, but redundant and tangential detail lowers the score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an agent deciding whether to invoke a compute node, the runtime semantics, privacy guarantees and provenance metadata are well covered. Still, the description lacks the full picture of what the safe-harbour test evaluates, what the policy_parameters field actually needs, and what the normal response shape is. The title carries the burden of domain meaning, rather than the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all four parameters with full descriptions, so the baseline is 3. The description mostly repeats what the schema says about compute modes and policy_parameters and adds little genuinely new semantic content. The main semantic gap is that policy_parameters requires referencing the manifest for field names, and neither the schema nor the description enumerates those fields for the GloBE safe harbour test.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first phrase clearly identify this as a GloBE Transitional Safe Harbour Test Evaluator, so the domain and resource are clear. However, the description never states what the test actually evaluates or how it differs from closely related GloBE siblings like evaluate_globe_de_minimis_exclusion, so it does not fully distinguish the tool from its alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool instead of another. It does explain compute modes and instructs users to use synthetic or anonymised inputs, but that addresses execution, not tool selection. There is no mention of an alternative in the description, despite a large set of closely related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_irrbb_sot_eveIRRBB SOT EVE EvaluatorCRead-onlyIdempotentInspect
IRRBB SOT EVE Evaluator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-183-irrbb-eve-shock-calculator. Output feeds: art-185-irrbb-sot-nii-evaluator. Open at: https://ainumbers.co/chaingraph/art-184-irrbb-sot-eve-evaluator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry readOnlyHint, idempotentHint, and destructiveHint, and the description adds valuable non-obvious behavior: inputs are processed transiently and not stored/logged/retained, compute:'browser' and gpu:true delegate to a browser with a delegation URL, and the FV-status receipt is a snapshot, not a subscription. It discloses data-handling and delegation traits that go beyond the annotations and aligns with them (deterministic matches idempotentHint; no read/write contradiction).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single monolithic paragraph mixing chain provenance, compute-mode logic, data-retention policy, an open URL, and a verification hash with no sectioning. While each sentence carries information, the density and lack of structure make it hard to scan and the verbosity is disproportionate to how little it says about the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param tool with a nested object and no output schema, the description over-covers execution mechanics but omits what the tool actually evaluates or returns beyond mentioning an AP2 artifact with execution_hash. policy_parameters content is deferred to a manifest, and the domain function is undescribed, making the definition incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 ties the compute mode to the enum's semantics (auto/server vs browser) and directs readers to the tool manifest for policy_parameters field names — a helpful pointer but also a deferral. It adds little meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'IRRBB SOT EVE Evaluator: OpenChainGraph compute node (compliance_mandate)', which restates the name plus plumbing identity but never says what the tool actually evaluates or returns — it never mentions economic value of equity, interest-rate shocks, or the SOT computation. It piles on compute-mode mechanics, GPU delegation, and provenance, so an agent must infer the domain function from the name alone. It also fails to differentiate from siblings like calculate_irrbb_eve_shocks or evaluate_irrbb_sot_nii on the basis of what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides chain context (consumes art-183-irrbb-eve-shock-calculator, feeds art-185-irrbb-sot-nii-evaluator) and mandates synthetic/anonymised inputs, which is useful. But there is no when-to-use versus when-not-to guidance relative to evaluator siblings (evaluate_irrbb_sot_nii, run_irrbb_disclosure_fit), so selection criteria are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_irrbb_sot_niiIRRBB SOT NII EvaluatorARead-onlyIdempotentInspect
IRRBB SOT NII Evaluator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-184-irrbb-sot-eve-evaluator. Open at: https://ainumbers.co/chaingraph/art-185-irrbb-sot-nii-evaluator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash, and it provides a URL and FV-status receipt. This goes beyond annotations by explaining the transient processing and provenance features. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the tool's identity and compute behavior. However, it includes several URLs and a long FV-status hash that add noise. The sentence about 'a snapshot, not a subscription' is somewhat tangential. It's structured but could be more concise by trimming the provenance details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, transient processing, artifact export, and upstream dependencies. However, it doesn't explain what the tool actually computes (the NII evaluation logic), what the output artifact contains beyond execution_hash, or what policy_parameters should contain. For a tool with no output schema and a nested policy_parameters object, this is a notable gap. The description is complete on operational aspects but incomplete on domain semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters. The description adds some context about compute modes and mentions policy_parameters are computed server-side, but doesn't add significant meaning beyond the schema. The description references 'the tool's manifest for field names' for policy_parameters, which is a gap since the schema doesn't enumerate them. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies this as an IRRBB SOT NII Evaluator compute node with a compliance mandate, and mentions it consumes upstream artifacts from a specific evaluator. However, it doesn't clearly state what the tool actually computes or evaluates (what NII means, what the decision function does), and the name is somewhat opaque. It distinguishes itself from siblings by mentioning the specific upstream artifact, but the core purpose is vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when browser delegation occurs, which is useful. It mentions consuming upstream artifacts from a specific artifact ID, giving some context on when to use it. However, it doesn't explicitly state when to use this tool vs alternatives, nor does it mention prerequisites or exclusions. The guidance 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.
examine_lc_document_presentationUCP 600 / ISBP 745 Document Examination AssemblerCRead-onlyIdempotentInspect
UCP 600 / ISBP 745 Document Examination Assembler: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-570-ucp600-document-examination-assembler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations: inputs are processed transiently and not stored/logged/retained, deterministic execution, and export of an AP2 artifact with execution_hash. These clarify non-obvious runtime behavior and provenance outputs. Annotations already cover readOnly and idempotent, and the description supplements with concrete operational effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and over-stuffed with tangential details: the OpenChainGraph compute-node wiring, a full URL, a long FV-status hash, and technical notes about server-side vs browser execution. The core purpose is not front-loaded; an agent must parse through environment trivia to infer what the tool actually does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool claiming to examine UCP 600 / ISBP 745 documents, the description fails to explain the examination logic, the expected input format beyond the generic schema, or what the output artifact contains (beyond execution_hash). There is no output schema, so the description should carry more weight, but it only covers compute mechanics, not the domain task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all parameters. The description clarifies the compute modes in prose, but that is already in the schema's enum descriptions. It only adds a pointer to 'the tool's manifest' for policy_parameters, which is unhelpful; it offers no domain-specific meaning for those parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first phrase indicate it relates to UCP 600 / ISBP 745 document examination, but the description never states a specific verb or what it actually assembles, checks, or produces. It focuses on the compute-node execution model (Cloudflare Workers, browser delegation) rather than the domain behavior. The sibling tools with similar review/examination intent (e.g., validate_mt700_lc_fields, verify_trade_document_set) are not differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over alternatives or what context warrants it. The only actionable instruction, 'Use synthetic or anonymised inputs only', is a safety directive, not a usage selector. No mention of prerequisites, typical use cases, or limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_regrpt_varianceRegulatory Report Period-over-Period Variance ExplainerCRead-onlyIdempotentInspect
Regulatory Report Period-over-Period Variance Explainer: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-485-regrpt-variance-explainer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint: true, idempotentHint: true, openWorldHint: false, destructiveHint: false. The description adds meaningful behavioral context beyond the annotations: it discloses that inputs are processed transiently and 'are not stored, logged, or retained', warns to use only synthetic/anonymised inputs, explains the compute modes (auto/server/browser) and that gpu:true nodes always delegate to the browser, and mentions the exported AP2 artifact with execution_hash for chain provenance. It even includes an FV-status link that is 'a snapshot, not a subscription'. These are genuinely useful behavioral disclosures that are absent from the annotations, so this dimension scores well. The only deduction: the description omits what the tool actually does with inputs (the 'variance explainer' logic), and the provenance/verification details are somewhat platform-generic rather than tool-specific behavior. But for disclosing side effects, privacy, and compute routing, it is quite strong. No contradiction with annotations (readOnly and idempotent are consistent with 'processed transiently, not stored').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one dense block of approximately 90 words with no paragraph breaks, no bullet points, and no front-loading of the tool's core purpose. While every sentence carries some technical content (compute binding, transient processing, artifact export, FV-status), the description is not structured to let an agent rapidly grasp what the tool does; the first sentence is the title itself, and the functional purpose is never actually explained. It is not bloated with fluff — each sentence adds platform information — but the structure is a wall of text that buries the synthetic-inputs warning and lacks a 'What it does' lead-in. A short structured lead sentence about the variance-explanation function would improve it significantly, so it is not a concise, well-factored definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, one nested object, an 'Explain' domain that is regulatory-report variance with no output schema to clarify the return shape), the description is incomplete. There is no output schema, so the description should explain what the tool returns — does it return human-readable variance explanations, a JSON diff, a ChainGraph artifact, a browser URL? The description only mentions an exported AP2 artifact and execution_hash, but not the response payload. It also does not explain what 'policy_parameters' should contain for this specific tool (the schema punts to 'the tool's manifest'), nor the expected shape of the input data (what are the two periods? what fields). For an explainer tool, the absence of an example or expected-output description is a significant gap, especially since the sibling list shows many similar compute/report tools where a user would need to distinguish behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: every parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) already has a description in the schema. The schema descriptions are fairly complete: compute modes are explained, parent_hashes/parent_tool_ids are defined in terms of chaining execution_hash values, and policy_parameters is described as 'Input parameters for this tool's decision function' pointing to the manifest for field names. The tool description adds no parameter-specific enrichment beyond what the schema provides; it does mention compute modes and 'inputs' generically, but does not add new meaning to the parameters. With high schema coverage, a 3 is the correct baseline, though one could argue the policy_parameters description in the schema is vague and the description could have clarified what 'decision function' parameters are for this tool, but it did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a title that names the tool's purpose ('Regulatory Report Period-over-Period Variance Explainer'), but the body of the description focuses almost entirely on compute-mode mechanics, privacy/transient processing, and ChainGraph provenance links. It never states what the tool actually does beyond its title: it does not explain what a 'period-over-period variance' is, what inputs it consumes, what output it produces, or how it differs from the many sibling tools like run_regrpt_edit_checks or run_call_report_edit_checks. The only functional hint is the title itself, which is a label rather than an explanation. The rest of the description is generic compute-node boilerplate that would apply to hundreds of sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any alternative. The description mentions 'synthetic or anonymised inputs only' as a usage constraint, but does not explain the intended regulatory reporting scenario, what kind of report variance analysis is appropriate, or which sibling tools (run_regrpt_edit_checks, run_call_report_edit_checks, reconcile_report_to_general_ledger) should be used instead. The description does not even state what problem this tool solves. It reads more like a generic platform header than a tool-specific usage guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_artifactExport a ChainGraph artifact as xlsx / pdf / csv / xbrl / vcARead-onlyIdempotentInspect
Render a verified OpenChainGraph v0.4 artifact into a chaingraph_export profile (OCG Standard §13). Generated downstream of and EXCLUDED from the execution_hash preimage — the export is a view, not a fact; verification always routes back to the canonical JSON artifact. Pass the FULL artifact you received from a compute tool (the server is stateless — there is no hash cache). Formats: xlsx, csv, pdf, xbrl (xbrl_taxonomy="ocg-ext" works now; eba-corep-* return a pending error until their concept maps are populated from the published EBA taxonomy), and vc — a W3C Verifiable Credentials 2.0 rendering (OCG §13.11, application/vc+json) available on every node; it re-states the canonical execution_hash via ocg:hashAnchor and mints no new hash/proof. readOnlyHint: true; zero PII, zero payload logging.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | Export profile. xlsx/csv/pdf/xbrl/vc implemented; vc = W3C Verifiable Credentials 2.0 (base profile, all nodes). | |
| artifact | Yes | Full v0.4 ChainGraph artifact (policy_parameters + output_payload + execution_hash + chain). | |
| xbrl_taxonomy | No | Required only when format="xbrl" (e.g. "eba-corep-own-funds"). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, etc.), the description adds critical behavioral context: 'Generated downstream of and EXCLUDED from the execution_hash preimage — the export is a view, not a fact', 'zero PII, zero payload logging', and the stateless nature of the server. It also discloses the pending-error behavior for certain taxonomies. This significantly exceeds what annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every sentence provides essential guidance (format caveats, statelessness, verification semantics). It front-loads the core purpose in the first sentence. While some redundancy exists (e.g., 'readOnlyHint: true' is already in annotations), the content is justified and not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers input requirements, supported formats, special behaviors, and error conditions. With no output schema, it partially describes the output (e.g., 'vc — a W3C Verifiable Credentials 2.0 rendering (application/vc+json)') but does not explicitly state the return type for other formats. Given the tool's complexity and the richness of annotations, the description is largely complete, though a brief note on response structure would elevate it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters, so the baseline is 3. The description adds value by elaborating on the format parameter (e.g., 'xbrl_taxonomy="ocg-ext" works now; eba-corep-* return a pending error') and clarifying the artifact parameter ('Pass the FULL artifact you received from a compute tool'). This goes beyond the schema but doesn't exhaustively detail every parameter's edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Render a verified OpenChainGraph v0.4 artifact into a chaingraph_export profile'. It specifies exact output formats (xlsx, xbrl, csv, pdf, vc) and explicitly distinguishes it as a view rather than a fact, which differentiates it from sibling tools like build_chaingraph or verify_execution_hash.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Pass the FULL artifact you received from a compute tool (the server is stateless — there is no hash cache)'. It also warns about unsupported taxonomy values ('eba-corep-* return a pending error until their concept maps are populated') and clarifies that verification routes back to the canonical JSON artifact, effectively saying when not to rely on the export for verification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_chainFind ChainGraph workflow chainARead-onlyIdempotentInspect
BM25 search over all 368 AINumbers ChainGraph chains. Returns ranked chains with their full recipe: ordered node sequence, deep-links, composer URL, and entry tool mcp_name. Agent flow: find_chain(query) → read recipe → call the listed node MCP tools in order, passing parent_hashes between steps. Task-shaped queries work well: "reserve composition recompute", "FR 2052a classification", "CCP margin replication", "SR 26-2 model validation benchmark", "litigation damages recompute", "evidence pack assembly".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language or keyword search (e.g. "AML programme", "DORA ICT readiness", "MiCA CASP", "PQC migration", "Basel capital", "reserve composition", "2052a classification", "CCP margin", "model validation benchmark", "damages recompute", "evidence pack"). | |
| top_n | No | Max results to return (default 5). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, which lowers the bar. The description adds useful behavioral context beyond the annotations: the BM25 ranking algorithm, the fixed dataset scope of 368 chains, the exact return fields, and the intended downstream workflow. This clarifies exactly what the agent can expect and what it should do with the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and scope, followed by return contents, then agent flow, then query examples. Every sentence earns its place; the example list is slightly long but directly improves query formulation. No meaningless filler or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple read-only search endpoint with a minimal schema and no output schema, and the description fully documents the return format: ordered node sequence, deep-links, composer URL, and entry tool mcp_name. It also completes the workflow context by explaining how results should be consumed. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful semantic guidance beyond the schema. It explains that queries are task-shaped and provides concrete examples, which helps the agent choose effective query text. The top_n parameter is already fully documented in the schema, so no additional description is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description leads with a specific verb and subject: BM25 search over all 368 AINumbers ChainGraph chains, and the output shape is precisely stated (ranked chains with full recipe fields). This differentiates it from sibling tools that build, run, or emit chains, such as build_chaingraph, run_chain, and emit_chaingraph_artifact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly tells the agent how to use the tool: find_chain(query) → read recipe → call the listed node MCP tools in order while passing parent_hashes. Task-shaped query examples are provided, which is strong practical guidance. However, it does not explicitly name what to use when not, such as build_chaingraph for creating a chain or run_chain for executing one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_prediction_arbitragePrediction Market ArbitrageBRead-onlyIdempotentInspect
Prediction Market Arbitrage: OpenChainGraph compute node (event_market_pnl). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-211-prediction-market-analyzer. Open at: https://ainumbers.co/chaingraph/art-212-prediction-market-arbitrage.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive. The description adds valuable context beyond that: inputs are not stored or logged, the node is deterministic, it exports an AP2 artifact with an execution_hash for chain provenance, and compute='browser' delegates to a browser URL. It also provides a FV-status receipt for offline verification. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that mixes purpose, compute modes, data handling, provenance, URLs, and a FV-status receipt. It is not front-loaded with a concise summary and includes extraneous but potentially useful links. While the information is relevant, the lack of structure and the wall-of-text format makes it harder to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition covers many important aspects: compute modes, data privacy, deterministic behavior, upstream artifact dependency, and provenance. However, it leaves the policy_parameters object undefined (pointing to an external manifest) and does not describe the output beyond an AP2 artifact (no output schema). For an agent to call this correctly, the policy_parameters structure is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented. The description adds some nuance, such as the default behavior of compute='auto' and that gpu:true nodes always delegate to the browser, which is not fully spelled out in the schema. However, it does not clarify the structure of policy_parameters, instead deferring to 'the tool's manifest,' so it adds only marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a deterministic OpenChainGraph compute node for prediction market arbitrage, and names the internal function (event_market_pnl). It distinguishes itself from the sibling 'analyze_prediction_market' by focusing on arbitrage and by noting it consumes upstream artifacts from art-211-prediction-market-analyzer. However, it never explicitly states what the tool outputs beyond an AP2 artifact, so the exact computation is implied rather than defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance on compute modes (auto/server/browser), notes that inputs are processed transiently and not retained, and instructs to use synthetic or anonymised inputs only. It also indicates it consumes upstream artifacts from art-211-prediction-market-analyzer, implying a workflow order. But it does not explicitly contrast with alternative tools like analyze_prediction_market, so an agent gets no explicit when-to-use vs. when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_toolFind ChainGraph node toolARead-onlyIdempotentInspect
BM25 search over all 632 live AINumbers ChainGraph node tools. Returns ranked tools with mcp_name, URL, mandate type, and wave. Use to locate a specific computation node (e.g. "FRTB expected shortfall", "MiCA own funds", "XVA calculator", "reserve composition", "2052a", "initial margin", "model validation benchmark", "TVM / damages calculator") before calling it. Complements find_chain (chain-level) and list_ainumbers_tools (catalog-level).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language or keyword search (e.g. "FRTB", "XVA", "MiCA own funds", "AML risk rating", "stress test", "reserve composition", "2052a", "initial margin", "model validation"). | |
| top_n | No | Max results to return (default 5). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds useful behavioral context beyond that: the exact search universe (632 live ChainGraph node tools), the fact that results are ranked, and the returned fields. This gives a clearer picture of what to expect from a call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two focused sentences: the first states behavior, returns, and intent with examples; the second names sibling tools. Every sentence earns its place and the core behavior is front-loaded before the examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description explicitly lists the return fields, so an agent knows what results to expect. It also covers the search scope, usage intent, and relationship to related tools, making the description sufficient for correctly invoking this simple read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both query and top_n are already documented in the schema. The description does not add further parameter semantics beyond what the schema provides, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: "BM25 search over all 632 live AINumbers ChainGraph node tools." It also states the output fields (mcp_name, URL, mandate type, wave) and gives concrete query examples, making the tool's purpose unambiguous. It further distinguishes itself from siblings by explicitly mentioning find_chain and list_ainumbers_tools, so an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly tells the agent when to use this tool: "Use to locate a specific computation node ... before calling it." It also names complementary alternatives with their levels (chain-level vs. catalog-level), though it stops short of explicit if-then exclusion conditions such as "use find_chain when you need chain-level."
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_attribution_stringAttribution String GeneratorBRead-onlyIdempotentInspect
Attribution String Generator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-207-attribution-string-generator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint, idempotentHint, and destructiveHint already provided, the description adds substantial behavioral context: deterministic execution, compute modes (auto/server/browser) and server-side vs browser delegation, transient non-retained inputs, and AP2 provenance artifact with execution_hash. It also discloses the FV-status receipt as a snapshot, not a subscription. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, but the opening repeats 'OpenChainGraph compute node' twice and the closing FV-status/URL sentences are tangential to invocation. The core compute and data-handling details earn their place, but the structure could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description explains compute behavior, transient inputs, and the AP2 artifact, but it never describes the actual attribution-string output shape or fields. It is complete enough to start invoking, but not enough to fully predict the return value or when to prefer it over similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters. The description adds real value by explaining the compute-mode semantics, gpu:true/false delegation rules, and that policy_parameters are computed server-side under auto/server, extending the enum's meaning without duplicating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (compliance_mandate)' and says it 'exports an AP2 artifact with execution_hash', but it never explicitly states what an attribution string is or what concrete result is produced. This is clearer than a tautology, but the purpose is buried in infrastructure/compute-mode details and does not distinguish it from sibling generate_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no 'use this when' or 'instead of' guidance, despite a very large sibling set with similar generate_/compute_ tools. The only directive, 'Use synthetic or anonymised inputs only', is a constraint, not a usage-selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_iscc_codeISCC Content Code GeneratorBRead-onlyIdempotentInspect
ISCC Content Code Generator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-202-tdmrep-reservation-builder. Open at: https://ainumbers.co/chaingraph/art-201-iscc-content-code-generator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing a safe-read profile. The description enriches this with valuable operational reality: processing is transparent (not stored, logged, or retained), it produces an execution_hash as an AP2 artifact for chain provenance, and it includes a structured FV-status receipt with verification semantics ('a snapshot, not a subscription; this receipt verifies offline'). The compute-mode side effects (server vs. browser delegation) are also disclosed. Nothing contradicts the annotations and useful behavioral context is added beyond the hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense wall of text with no line breaks or bullet points, mixing compute-mode semantics, deployment facts, data-handling policy, output format, a destination URL, and an FV-status receipt disclaimer. Redundancies like repeating 'Deterministic OpenChainGraph compute node' and the dense URL/hash strings make it harder to scan. Some information, such as the manual override to a public URL, could be trimmed or demoted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the absence of an output schema, the description covers the output side well by stating the tool exports an AP2 artifact with execution_hash for chain provenance and indicating that the output feeds a specific downstream tool. It also specifies behavior for undocumented compute cases (gpu:true always delegates). The main gap is the lack of detail on policy_parameters fields and any error or rate-limit conditions, but the overall picture is adequate for an agent to invoke the tool and handle its output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing a strong baseline. The description adds real value by explaining the default behavior of the compute parameter ('By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead'), which the schema alone does not clarify. It also notes that gpu:true nodes always delegate. The policy_parameters guidance to check the manifest for field names is a useful pointer beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the tool's own name restated, and repeats 'Deterministic OpenChainGraph compute node' twice without a sharp main clause stating what the tool does. However, it does convey that the tool computes an ISCC content code, and the mention of 'OpenChainGraph compute node' plus the specific output feed ('art-202-tmrep-reservation-builder') hints at its distinct role among siblings. The purpose is discernible but buried in implementation detail; a clear, single-sentence statement of the tool's function is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute:"auto" vs compute:"browser" delegation model and when each is triggered, which tells the agent how to choose between execution modes. However, it never states when to choose this tool over an alternative, and the guidance about gpu:true nodes always delegating is more implementation than usage orientation. Context for when the tool is the right choice is implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_zk_compliance_proofZK Compliance Proof GeneratorBRead-onlyIdempotentInspect
ZK Compliance Proof Generator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-10-amla-transaction-typology-risk-scorer. Output feeds: cry-04-merkle-batch-verifier, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/cry-01-zk-compliance-proof-generator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable behavior beyond the annotations: 'Inputs are processed transiently... are not stored, logged, or retained,' 'Deterministic,' and the compute-mode/browser-delegation behavior. These disclosures complement readOnlyHint and idempotentHint with concrete operational context, and 'Use synthetic or anonymised inputs only' is a practical safety warning. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and over-packed with tangential content—the OpenAt URL, the long FV-status snapshot path with its 'snapshot, not a subscription' caveat, and repeated 'Deterministic OpenChainGraph compute node' phrasing—none of which helps an agent select or invoke the tool. The genuinely useful information (data handling, compute behavior, pipeline edges) is present but buried under boilerplate and domain-specific identifiers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only vaguely hints at output ('Exports an AP2 artifact with execution_hash'). The policy_parameters field defers its own schema to 'the tool's manifest for field names,' requiring the agent to look elsewhere. Pipeline edges and data-handling are covered, but input structure and the actual proof output content remain under-specified for a tool with 4 parameters and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so compute, parent_hashes, parent_tool_ids, and policy_parameters are all documented in the schema. The description's prose re-states the compute enum behavior (auto/browser/gpu:true delegation) but adds little new meaning beyond what the schema already provides. With full coverage, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a ZK Compliance Proof Generator and an OpenChainGraph compute node that exports an AP2 artifact with execution_hash for chain provenance. The core function—generating a zero-knowledge compliance proof with chain provenance—is discernible, though the functional statement is buried under implementation details (compute modes, Cloudflare Workers, FV-status receipt) rather than front-loaded as a primary action statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides meaningful pipeline context by naming upstream (art-10-amla-transaction-typology-risk-scorer) and downstream (cry-04-merkle-batch-verifier, ptg-01-ap2-prompt-template-generator) artifacts, and instructs 'Use synthetic or anonymised inputs only.' However, it never explicitly states when NOT to use this tool or names alternative tools/conditions for selection, so routing guidance is implied through the pipeline rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ha_bundle_exportAssemble (and optionally SD-JWT-export) a §27.6 evidence bundleAInspect
Assembles a §27.6 haEvidenceBundle from a subject's collected human_accountability_records[] (reviewers, approvers, annotations, exception rationale, timestamps) -- same algorithm as the browser verify.html HA export card (kernels/_haevidence.mjs). Set sd_jwt:true to also export it as a Selective Disclosure JWT (§13.12), signed EdDSA over a fresh ephemeral did:key (generated per call, never reused) -- subject_hash/verification_result/kernel_version/policy_version/timestamps/submission_receipt are always-disclosed; reviewers/approvers/annotations/exception_rationale/input_hashes are selectively disclosable.
| Name | Required | Description | Default |
|---|---|---|---|
| sd_jwt | No | When true, also return an SD-JWT export of the bundle (default false). | |
| records | No | human_accountability_records over this subject. Default: []. | |
| input_hashes | No | sha256: hashes of the inputs the verification ran over. Default: []. | |
| subject_hash | Yes | Required. The sha256: subject hash the bundle documents. | |
| kernel_version | No | Version tag of the kernel that produced verification_result. | |
| policy_version | No | Version tag of the policy the kernel was evaluated against. | |
| submission_receipt | No | Populate ONLY after a real transmission -- never fabricate. | |
| verification_result | No | The §16/§18/§20 verdict. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavior beyond the annotations: the SD-JWT signing key is fresh and never reused, key bundle fields are always-disclosed while others are selectively disclosable, and the admonition to never fabricate submission_receipt is included. It also aligns with idempotentHint=false for the SD-JWT path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the primary action, and the details about signing keys, disclosure properties, and receipt integrity all earn their place. It reads like one long clause chain, but it is appropriate for a container tool with an optional export mode.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries more responsibility for explaining behavior. It says both what is assembled and what happens when sd_jwt is true, while the 100%-coverage schema handles parameter semantics. Exact return shape and error conditions remain implicit, but the execution intent is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all eight parameters, so the baseline is 3. The description adds value by clarifying that sd_jwt uses per-call EdDSA/did:key material, describing disclosure properties of the bundle fields, and identifying the records parameter contents as human accountability records.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by naming the exact action and artifact: 'Assembles a §27.6 haEvidenceBundle' from human_accountability_records plus the optional SD-JWT export. This clearly distinguishes the tool from generic sibling evidence-bundle tools such as assemble_ocg_evidence_bundle or build_evidence_pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended context is explicit: it is the same algorithm as the browser verify.html HA export card and is scoped to §27.6 evidence bundles for human accountability records. It does not explicitly name alternative tools to avoid, but the domain constraint is strong enough to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ha_gate_statusEvaluate a §27.4/§27.5 human-accountability gate preconditionARead-onlyIdempotentInspect
Given a step's haGatePolicy and the human_accountability_records[] collected for a subject, returns whether the gate is satisfied, held, rejected, escalated, or overridden -- same algorithm as the browser verify.html HA gate card (kernels/_hagate.mjs, SPEC.md §27.4-27.5). A rejection record is terminal-blocking regardless of policy; an active time-boxed override (§27.5) takes precedence over the underlying policy. Pure function: caller supplies nowISO for determinism.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The haRole a satisfying approval record must carry. | |
| now_iso | Yes | Caller-supplied ISO 8601 clock (determinism; never Date.now() internally). | |
| records | No | Collected human_accountability_records over this subject. Default: []. | |
| threshold | No | N for dual_control/review_required/hold. Default 1 (2 for dual_control). | |
| gate_policy | Yes | The step's declared haGatePolicy. | |
| subject_hash | Yes | The sealed artifact's sha256: subject hash. | |
| require_conformant | No | Require §27.2 structural signature shape on every record (default true). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, establishing it as a safe, deterministic pure function. The description adds value by noting that rejection records are terminal-blocking and active time-boxed overrides take precedence, providing behavioral details beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences covering purpose, behavioral details, and purity. It is front-loaded with the main purpose and contains no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the lack of output schema, the description enumerates possible return states (satisfied, held, rejected, escalated, overridden) and references the algorithm. However, it does not specify the exact output format (e.g., string, object with details) or fully explain parameter defaults like threshold's dual_control case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some semantic value by explaining the purpose of nowISO for determinism and noting records default to empty array, but does not elaborate on other parameters like threshold defaults or require_conformant behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns whether a gate is satisfied, held, rejected, escalated, or overridden based on haGatePolicy and human_accountability_records, with specific verb 'returns' and resource 'gate precondition'. It references the exact algorithm from SPEC.md and distinguishes from sibling tools like ha_record_validate which handles individual records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It mentions the tool is a pure function and the caller supplies nowISO for determinism, but no 'when to use' or 'when not to use' advice. Sibling context implies it's for evaluating the overall gate, but this is not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ha_record_validateValidate a §27 human-accountability recordARead-onlyIdempotentInspect
Structural (non-cryptographic) §27.2 signed-named-human check: does this record carry a §16 whole-artifact proof (eddsa-jcs-2022) whose verificationMethod is bound to the record's own identity.id? Does NOT verify the signature bytes -- pair with verify_execution_hash / a proof verifier for that. Use before counting a record toward ha_gate_status.
| Name | Required | Description | Default |
|---|---|---|---|
| record | Yes | A single human_accountability_records[] entry to check. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds valuable behavioral context: it specifies the non-cryptographic nature, the specific check performed, and the requirement to pair with a signature verifier. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each adding essential information. It is front-loaded with the purpose, followed by limitations and usage advice. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, one parameter, no output schema, and sufficient annotations, the description covers purpose, limitations, and usage context. It could optionally hint at return type or error conditions, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (record) described as 'A single human_accountability_records[] entry to check.' The description adds only marginal extra meaning (signed-named-human check, identity.id binding), but the schema already conveys the core structure. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a structural (non-cryptographic) check on a §27 human-accountability record, specifically verifying a §16 whole-artifact proof bound to the record's identity.id. It distinguishes itself from signature verification and places itself in the broader workflow (use before ha_gate_status). This differentiates it from sibling tools effectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('before counting a record toward ha_gate_status') and what it does NOT do ('Does NOT verify the signature bytes'), directing users to pair with verify_execution_hash or a proof verifier. While not exhaustive on when not to use, it provides clear context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_visa_tap_signatureVisa Trusted Agent Protocol Signature Inspector & ReadinessARead-onlyIdempotentInspect
Inspect a Visa Trusted Agent Protocol HTTP Message Signature and score TAP readiness. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| parsed | No | |
| findings | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds valuable context: it renders an interactive widget, runs client-side with zero PII and zero network. This goes beyond annotations to explain behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first sentence clearly states purpose, second explains execution mode. No redundant words, front-loaded with the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and an output schema, the description covers purpose and execution context. However, it does not detail the scoring output or the widget's behavior, which could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mentions inputs are applied via AIN Bridge and references the manifest input_schema, but does not add new meaning beyond the schema for the single 'inputs' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('inspect') and resource ('Visa Trusted Agent Protocol HTTP Message Signature'), and adds the action of scoring TAP readiness. It distinguishes itself from the sibling tool 'inspect_visa_trusted_agent_protocol' by focusing on signature inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for inspecting signatures and scoring readiness, but does not explicitly state when to use this tool versus alternatives like inspect_visa_trusted_agent_protocol. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_visa_trusted_agent_protocolVisa Trusted Agent Protocol (TAP) Signature InspectorCRead-onlyIdempotentInspect
Visa Trusted Agent Protocol (TAP) Signature Inspector: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-16-google-ap2-mandate-builder, art-22-agentic-payments-protocol-comparator. Output feeds: art-18-mcp-developer-readiness-scorecard, art-24-mastercard-agentic-token-builder, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-23-visa-trusted-agent-protocol-inspector.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: it is deterministic, processes inputs transiently without storage/logging/retention, and explains compute modes (server vs browser delegation). It also discloses that it exports an AP2 artifact with execution_hash for chain provenance and includes a verification snapshot. These are substantive traits not covered by readOnlyHint/idempotentHint. No contradiction with annotations found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, single paragraph crammed with operational details: compute node mechanics, upstream/downstream artifact lists, a URL, and an FV-status JSON path. This is more than an agent needs to invoke the tool correctly. The essential purpose is buried under technical minutiae. It is not front-loaded; the purpose is not stated in the first sentence. While it is structured with periods, it reads as a wall of information, lacking brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, chaining, artifact exports), the description provides substantial context on how it executes, where it sits in the artifact graph, and its provenance verification. However, it omits a clear explanation of what the 'signature inspection' actually checks or returns beyond an execution_hash. Since there is no output schema, the description should clarify the result format, but it only mentions the artifact export. The core functional gap makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds some nuance about compute modes and when they apply (e.g., gpu:true nodes always delegate to browser), but this is largely echoed in the schema's own description of the compute parameter. The description does not clarify policy_parameters beyond pointing to the manifest, and it omits any semantics for parent_hashes/parent_tool_ids. It neither lowers nor elevates beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as a 'Signature Inspector' but never explains what it does with signatures. It talks at length about being an OpenChainGraph compute node, compute modes, and artifact flows, but the actual inspection/verification function is implicit. It distinguishes itself poorly from siblings like inspect_visa_tap_signature and many verify_* tools. Purpose is not a tautology because it mentions 'inspector' and 'signature' in the title, but the description fails to specify the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions compute modes (auto/server/browser) and that gpu:true nodes delegate to browser, but these are internal behaviors, not tool-selection criteria. There is no explicit 'use this when...' comparison with similar inspection or verification tools. The only usage hint is 'Use synthetic or anonymised inputs only,' which is a data-handling instruction, not a when-to-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
intoto_record_chain_runRecord a ChainGraph chain run as in-toto linksARead-onlyInspect
Wraps the result of a run_chain call (server/auto compute mode) as standard in-toto links, one per successfully-executed step, plus a generated in-toto layout matching the chain's linear topology (each step MATCHes the previous step's product). Materials/products are keyed by the step's execution_hash; byproducts carries the raw execution_hash. All links and the layout are DSSE-signed with one ephemeral Ed25519 keypair scoped to this call (never persisted) — first shipping instance of "in-toto for MCP" per the 2026 research gap survey. Verify the bundle offline with the in-toto Link Builder & Verifier (chaingraph/intoto-link-builder.html verify tab) or a reference implementation. Steps that did not run (input_required, skipped_by_gate, gpu_browser_only, etc.) are listed in skipped[] rather than silently omitted.
| Name | Required | Description | Default |
|---|---|---|---|
| run_chain_result | Yes | The structuredContent object returned by run_chain (must include chain and steps[]). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds behavioral context: generation of links/layout, ephemeral signing key, skipped steps listed in skipped[]. No contradiction with annotations. Could be improved by explaining the output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long (5+ sentences) and includes some jargon and a reference to a research survey. It front-loads the purpose but could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the input, behavior, output format (in-toto links, layout, skipped array), and verification. Sufficient for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter; the description adds that it expects the structuredContent object from run_chain, which is useful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it wraps the result of a run_chain call as standard in-toto links, one per step, plus a layout. It distinguishes this from siblings by specifying the in-toto output format and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after a run_chain call and mentions offline verification, but does not explicitly state when to use this vs alternatives like build_workflow_links or other recording tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lei_kyb_checkLive LEI data-quality grading with GLEIF fetchARead-onlyInspect
Fetches an entity's live GLEIF LEI record (api.gleif.org -- the worker's only egress target for this tool, RULINGS-2026-07-19-EGRESS-APEX.md R1) and grades it across six GLEIF data-quality dimensions -- registration status, renewal timeliness, corroboration level, entity status, Level-2 parent disclosure, address completeness -- using the SAME deterministic grader as the tools/551 browser workbench (pasting the same record there reproduces identical grades). Returns per-dimension grades, a composite, and a receipt with source provenance (url, retrieved_at, response_digest). This is an ASSERTED FETCH, not a zkTLS proof of origin, and grades DATA QUALITY only -- never creditworthiness, sanctions status, or entity legitimacy.
| Name | Required | Description | Default |
|---|---|---|---|
| lei | Yes | 20-character ISO 17442 Legal Entity Identifier to look up. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, openWorldHint=true. The description adds significant behavioral context: specific egress target (api.gleif.org), deterministic grader cross-referenced with a browser workbench, return of provenance details (url, retrieved_at, response_digest), and the limitation that it is an asserted fetch without zkTLS proof. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently conveys the main action, dimensions, return structure, and caveats. It is front-loaded with the primary purpose. It could be slightly more structured (e.g., bullet points), but remains concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description covers all necessary context: what it does, what it returns (grades, composite, receipt with provenance), how it works (deterministic grader, cross-referenced), and limitations (asserted fetch, data quality only). This is comprehensive for an effective agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the required 'lei' parameter with a clear description. Schema coverage is 100%, so the description does not need to add more. The description mentions the parameter implicitly (LEI record) but does not add new constraints or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches a live GLEIF LEI record and grades it across six data-quality dimensions. It specifies the source (api.gleif.org), the grading dimensions, and the return structure (per-dimension grades, composite, receipt). This distinguishes it from siblings by emphasizing it is a fetch and not a zkTLS proof.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit exclusions: it is an asserted fetch, not a zkTLS proof, and grades only data quality, not creditworthiness or sanctions. This guides users when not to use the tool. However, it does not explicitly recommend alternatives for those use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_eudr_supply_chain_traceabilityEUDR Supply-Chain Traceability LinkerBRead-onlyIdempotentInspect
EUDR Supply-Chain Traceability Linker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-168-eudr-country-benchmark-risk-scorer. Output feeds: art-170-eudr-readiness-diagnostic. Open at: https://ainumbers.co/chaingraph/art-169-eudr-supply-chain-traceability-linker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavior beyond annotations: it states inputs are processed transiently and not stored, logged, or retained, and it emphasizes using synthetic or anonymised inputs. This complements the readOnly and idempotent hints without contradiction. It also discloses the deterministic nature and the artifact export with execution_hash.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, dense paragraph with redundant phrasing (e.g., repeats 'Deterministic OpenChainGraph compute node') and includes tangential details like the FV-status verification URL. It is front-loaded with the purpose, but the overall structure is not concise and could be trimmed for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 params, nested object, no output schema), the description covers important operational details: compute modes, transient processing, artifact chain links, and verification. It lacks an explicit description of the output format, but mentions exporting an AP2 artifact with execution_hash. The schema covers parameter semantics, so the missing output detail is a moderate gap but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as each parameter has a description in the input schema. The tool description adds little extra beyond what the schema already explains, such as compute mode behavior and parent_hashes usage. Therefore, the baseline of 3 is appropriate since the schema carries the semantic weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is an EUDR Supply-Chain Traceability Linker as a deterministic OpenChainGraph compute node, and it specifies upstream/downstream artifacts (art-168 to art-170). This gives a specific verb and resource, though it does not explicitly differentiate from similar siblings like link_traceability_lot_code or resolve_provenance_ingredient_tree. The artifact IDs provide uniqueness but not a direct contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit when-to-use guidance or comparisons with alternative tools. It only states operational details like compute modes and the requirement to use synthetic or anonymised inputs. No mention of when to choose this over siblings or under what conditions it is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_traceability_lot_codeFSMA 204 Traceability Lot Code Chain LinkerBRead-onlyIdempotentInspect
FSMA 204 Traceability Lot Code Chain Linker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-118-fsma204-cte-validator. Output feeds: art-120-recall-trace-resolver. Open at: https://ainumbers.co/chaingraph/art-119-traceability-lot-code-linker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says inputs are processed transiently - not stored, and NOT, so we adopt the established readOnlyHint & idempotentHint, and be accurate. It also discloses deterministic execution, the compute on Workers vs browser delegation (gpu:true always delegates), the non-persistence, the security instruction to use synthetic inputs, and what is exported (AP2 artifact with execution_hash). It leaves network/rate‑limit commit, but given the read-only deterministic annotation, carries most of the contingent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is single long paragraph with observable duplication: 'deterministic' appears twice twice, compute modes repeated from the schema, and a trailing of operational defaults that bleed into, but some of the fields are embedded for user U (FV‑status URL, manifest receipt, proxy/browser TOTP). The headingblocked-front of seconds but overall not concise, with more than half of the sentences material. 2 is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No Scoping output schema -> description says it exports an AP2 artifact with execution_hash and is the input. It gives DEC(asteristically) the security constraints (transitory/synthetic), maps destination/downs consumption, and the net always forced. Subnet e.g., however does not describe successful/return shape beyond execution_hash and context-of-artifact, doesn't matter when the URL is sent to the client, but given output none and the read‑only flow, peer 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already discloses all 4 parameters with detailed descriptions (compute enum, parent hashes, parent tool_ids, policy_parameters). The free‑text description repeats small amount compute semantics behind what the schema, and says 'See the tool's manifest for field names'. Given schema coverage is 100%, the description correctly does not restate every field but does not add per‑field nuance except the default-vs-manual compute modes. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an OpenChainGraph compute node for linking FSMA 204 traceability lot codes into a chain, and specifies its upstream consumer/artifact inputs and downstream outputs. The purpose is explicit and includes the surrounding processing model (compliance_mandate) and the chain it participates in, which separates it from the bulk of seemingly generic build_ tools. It doesn't explicitly articulate what distinguishes it from siblings beyond the artifact wiring, but enough for a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nothing says when to use this tool vs alternatives; no criteria such as 'do this when you need to attach lot-code child to an existing AP2 hashchain' or 'use link_eudr_supply_chain_traceability instead'. Compute is a mode are described but none of these determine selection vs other compute nodes. With a thousand sibling tools, this gap forces the agent to guess the use scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_ab2013_training_data_disclosureAB 2013 Training Data Disclosure LinterCRead-onlyIdempotentInspect
AB 2013 Training Data Disclosure Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-315-ab2013-training-data-disclosure-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral transparency beyond the annotations: it states inputs are processed transiently and not stored, and that it exports an AP2 artifact with an execution_hash. However, it does not describe the tool's actual decision logic, side effects (beyond artifact creation), or error conditions. The read-only, idempotent, and non-destructive hints are already in the annotations, so the description contributes only marginal additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, containing a large amount of boilerplate about compute modes, URLs, and generic platform details that are unrelated to the linter's core function. The actual purpose is buried in the first few words, and the rest of the text is not front-loaded with critical information. It is not concise; it could be reduced to a few sentences about the linter's behavior and parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context for an agent to use the tool effectively. It does not explain what AB 2013 training data disclosure entails, what inputs the policy_parameters require, what output format the linter produces (beyond the generic AP2 artifact), or how to interpret results. It refers to a manifest for policy_parameters fields, leaving the agent dependent on external documentation. Given the tool's complexity as a compliance linter, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all four parameters have descriptions in the schema). The tool description largely repeats the schema wording for parent_hashes and parent_tool_ids, and for policy_parameters it only says 'Input parameters for this tool's decision function' without specifying fields, deferring to a manifest. Thus, the description adds no meaningful parameter semantics beyond what the schema already provides, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'AB 2013 Training Data Disclosure Linter', which names a specific resource and implies a linting function, but it never explains what the linter checks, what rules it applies, or what constitutes a disclosure violation. The verb 'lint' is generic, and the description does not differentiate this from the many other lint_* tools in the sibling list beyond the resource name. The purpose is clear at a high level but lacks operational detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative linters or other tool categories. It does not reference sibling tools, specify use cases, or give selection criteria. The only 'usage' information concerns compute modes and output artifact generation, which are generic across many tools and do not help an agent decide when this specific linter is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_aiuc1_control_evidenceAIUC-1 Control Evidence LinterARead-onlyIdempotentInspect
AIUC-1 Control Evidence Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-304-aiuc1-evidence-pack-assembler. Open at: https://ainumbers.co/chaingraph/art-303-aiuc1-control-evidence-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This is highly transparent: it explicitly discloses transient processing, no storage/logging/retention, deterministic behavior, compute-mode delegation semantics, and AP2 output with execution_hash. The 'FV-status ... snapshot, not a subscription' note adds useful provenance behavior not present in annotations. Nothing contradicts annotations; the read-only/idempotent hints are consistent with the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with technical/purpose context and the most important limits are stated early, but there is notable repetition: 'deterministic OpenChainGraph compute node' appears twice. The FV-status URL and its offline-verification explanation are lengthy relative to their decision-making benefit. It is still generally structured and readable, though a bit verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool gives strong runtime context (server vs browser, privacy, provenance, downstream consumer), but no output schema is provided and the description doesn't define the actual linter output or policy parameter field names needed to invoke it correctly. It is enough to understand the main decision gate but not to fully invoke with confidence in all cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions, so the schema carries most of the parameter weight. The description mainly reinforces compute semantics and does not consistently add new parameter-specific meaning; policy_parameters fields are deferred to a manifest and are not described. This is adequate because schema coverage is 100%, but no additional detail about the critical policy object is supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify this as a linter for AIUC-1 control evidence and as an OpenChainGraph compute node, which is a clear verb+resource relationship. The description also names its output as an AP2 artifact with execution_hash and the downstream consumer. It does not explain what specific evidence is checked or the validation rules, but that is implicit from the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the output feed ('art-304-aiuc1-evidence-pack-assembler') and the instruction to use synthetic or anonymised inputs only. However, it does not explicitly state when to use this tool over other linters/evidence tools, and there is no when-not-to-use guidance anywhere. For an agent facing a large sibling list, this is a significant guidance gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_arc_xreserve_configArc xReserve Config LinterARead-onlyIdempotentInspect
Arc xReserve Config Linter: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2026-07-18 (GENIUS Act §4 eligible-asset backing requirements; MiCA Art. 54 reserve requirements for EU EMT issuers.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-42-arc-fit-diagnostic. Open at: https://ainumbers.co/chaingraph/art-45-arc-xreserve-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description isn't required to restate these. It adds value by explaining compute delegation behavior, transient processing (no storage/logging/retention), and the execution_hash export for provenance. It also discloses that gpu:true nodes always delegate to browser, which is beyond the schema. This is strong additional behavioral disclosure without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informatively dense but dense. It front-loads the tool's identity and regulatory context, then explains compute modes, privacy, and provenance. However, it includes several clauses (the URL, FV-status link, and detailed regulatory citations) that add noise without improving an agent's ability to select or invoke the tool. It's a single paragraph that could be tightened; the FV-status JSON link is useful but the regulatory deadline detail feels like excess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the schema covers all parameters and annotations declare read-only and idempotent behavior, the description adds sufficient context: inputs are not stored, gpu delegation, output as AP2 artifact with execution_hash, and consumption from a specific upstream artifact. The lack of an output schema is compensated by the description's statement that it exports an AP2 artifact. It's complete enough for an agent to invoke correctly, though it could clarify the exact output fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents all four parameters. The description adds some context about compute modes ('auto' default etc.) and policy_parameters being computed server-side, but it doesn't materially enhance what the schema already provides. The mention that policy_parameters are computed server-side for gpu:false nodes is a minor addition. Since schema coverage is high, the description's contribution is above baseline but not significant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a linter for Arc xReserve config, specifically for OpenChainGraph compute nodes, with a regulatory deadline context. It clearly distinguishes the tool's role as a deterministic compute node that consumes upstream artifacts. However, it doesn't explicitly contrast with sibling lint tools beyond the generic 'Linter' in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool—for linting Arc xReserve configuration with specific regulatory deadlines. It details compute mode behaviors (auto/server/browser) and input privacy requirements, but doesn't explicitly state when NOT to use it versus alternatives like other lint_* tools. The instruction to use synthetic/anonymised inputs is a usage constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_besu_settlement_contractBesu Settlement Contract LinterCRead-onlyIdempotentInspect
Besu Settlement Contract Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-292-attest-settlement-orchestrator. Open at: https://ainumbers.co/chaingraph/art-289-lint-besu-settlement-contract.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral aspects beyond annotations: inputs are transient and not stored/logged, compute can be server-side or browser-delegated depending on mode, the tool is deterministic, and it exports an AP2 artifact with execution_hash. These details add context beyond the readOnlyHint and idempotentHint annotations, and they do not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that includes a URL, a file path for FV-status, and detailed provenance notes. Much of this is extraneous for an agent deciding whether or how to invoke the tool. It could be significantly shortened to focus on the core function and invocation parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete about the tool's core purpose (what exactly it lints and what the outcome is) and does not describe the expected output format beyond 'AP2 artifact with execution_hash'. It details execution infrastructure but omits the actual linting semantics, making it insufficient for an agent to understand what will be returned and how to interpret the result. No output schema exists to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 documented in the input schema itself. The description adds marginal value by explaining compute modes (already in the schema) and referring to the manifest for policy_parameters field names, but does not enhance understanding of the parameters' role beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title says 'Linter' and the description starts with 'Besu Settlement Contract Linter', but then immediately pivots to 'OpenChainGraph compute node (compliance_mandate)' without ever stating what the tool actually does (e.g., 'Lints and validates Besu settlement contracts'). The reader must infer the purpose from the name and title, which makes it vague. It does not clearly distinguish from sibling linters like lint_settlement_orchestrator_conformance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It discusses compute modes (auto/server/browser) but does not explain when a user would choose this linter over other lint_* tools. No exclusions or alternative recommendations are provided, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_cbom_structureCBOM Structural Lint & CNSA-2.0 ClassifierARead-onlyIdempotentInspect
CBOM Structural Lint & CNSA-2.0 Classifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-386-lint-cbom-structure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior, and this description adds substantial context beyond that: determinism, transient processing with no storage/logging/retention, browser delegation behavior for gpu:true nodes, AP2 artifact export with execution_hash, and an FV-status snapshot receipt. This is high-value behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and deterministic behavior, but it is long and contains some redundancy, such as stating 'OpenChainGraph compute node' twice. The compute-mode and FV-status detail is relevant, but the description could be tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description covers execution semantics, location (server vs browser), retention policy, provenance output, and verification status. It does not detail the AP2 artifact's structure or potential output fields, but the operational context is strong enough for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters at 100%, so the baseline is 3. The description adds useful context on compute modes ('auto', 'browser', server delegation for gpu:true nodes), the non-retention handling of inputs, and the directive to use synthetic or anonymised inputs only. This enhances the raw schema rather than merely repeating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it lints CBOM structure and classifies CNSA-2.0. It also positions the tool as a deterministic OpenChainGraph compute node, which distinguishes it from generic validation or classification siblings. The specialized CBOM/CNSA-2.0 framing makes the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute-mode behavior and when server vs browser execution happens, but it does not explain when to use this tool versus alternatives such as other lint_ tools or validate_* tools. There is no explicit condition like 'use this when you need to validate CBOM conformance' or mention of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_cbpr_structured_addressCBPR+ Structured Address LinterARead-onlyIdempotentInspect
CBPR+ Structured Address Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-242-pacs008-party-completeness-validator. Open at: https://ainumbers.co/chaingraph/art-241-cbpr-structured-address-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description goes further by explaining deterministic execution, server/browser compute modes, transient processing with no storage/logging/retention, and the creation of an AP2 artifact with execution_hash. These are concrete, non-obvious behavioral traits that a caller would otherwise not know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence repeats 'OpenChainGraph compute node' and 'Deterministic' almost identically, which inflates the opening. The compute, privacy, and provenance details are valuable, but the final FV-status and hash sentence is long and tangential for an agent deciding when/how to invoke it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description supplies rich execution/provenance context, including output feeds and verification URLs. However, because there is no output schema and the actual lint behavior is undefined, an agent still cannot know what input is expected or what the linter response will include beyond an artifact with an execution_hash.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are already documented via the JSON schema; the description adds useful compute-mode nuance but does not explain the actual policy_parameters fields. It mentions 'see the manifest' rather than providing those names, which leaves a gap beyond what the schema alone describes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool is a linter for 'CBPR+ Structured Address' and a deterministic OpenChainGraph compute node, which names the action, resource, and domains. While it does not spell out the exact lint rules or output format, the name plus the 'CBPR+' qualifier distinguishes it clearly from sibling linters like lint_fedwire_structured_address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Structured guidance is limited to 'Use synthetic or anonymised inputs only' and compute-mode suggestions. It does not describe when to choose this tool over its alternatives or state which inputs/flows should lead here rather than to related validators or linters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_compelling_evidence_ce30_agenticAgentic Dispute CE3.0 Evidence LinterCRead-onlyIdempotentInspect
Agentic Dispute CE3.0 Evidence Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-01-ap2-mandate-chain-validator, art-23-visa-trusted-agent-protocol-inspector, art-24-mastercard-agentic-token-builder, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-297-agentic-dispute-ce30-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the annotations: inputs are processed transiently and not stored/logged, compute modes ('auto', 'browser') affect execution location (Cloudflare Workers vs client-side), and outputs an AP2 artifact with execution_hash. These details explain execution side-effects and privacy handling, which annotations do not cover. No contradiction with readOnlyHint/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of technical jargon including a long URL, an FV-status hash, a list of upstream artifact IDs, and detailed compute behavior. Much of this is tangential to the tool's core function and could be moved to metadata fields. It is not front-loaded with the essential purpose and contains redundant phrasing (e.g., 'Deterministic OpenChainGraph compute node' repeated).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a linter tool with no output schema, the description fails to explain what the tool returns (e.g., lint findings, pass/fail, errors) beyond mentioning an 'AP2 artifact with execution_hash'. It also does not clarify what 'compelling evidence' means, what the linter checks, or how inputs map to expected behavior. The nested policy_parameters object is not described. Given the complexity of the tool and its many sibling linters, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 in the input schema. The description does not add any new parameter-specific semantics; it merely restates compute mode behavior already in the schema for the compute parameter. It does not explain parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema provides. Thus baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'Evidence Linter' and an 'OpenChainGraph compute node', but never states what it actually does with evidence — no linting operation, criteria, or scope is described. The focus is on compute modes, privacy, and provenance, leaving the core purpose implicit. It does not distinguish itself from sibling lint_* tools, which all appear to be linters of specific artifact types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'compliance_mandate' and lists upstream artifact IDs, but gives no guidance on when this linter should be used over other linter/validator tools in the sibling set. It provides constraints like 'Use synthetic or anonymised inputs only' and compute mode instructions, but these are operational rather than selection criteria. No alternative tools or conditions are named, so an agent has no basis for choosing this tool over similar ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_crypto_asset_whitepaperCrypto-Asset Whitepaper Linter (iXBRL)CRead-onlyIdempotentInspect
Crypto-Asset Whitepaper Linter (iXBRL): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-98-mica-casp-fit-diagnostic. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-102-crypto-asset-whitepaper-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only/idempotent safety, and the description adds valuable non-redundant behavior: deterministic execution, transient processing with no storage/logging/retention, and an AP2 artifact export with execution_hash for chain provenance. It also adds the synthetic/anonymised-input boundary. Nothing contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, unstructured stream of compute behavior, provenance links, URLs, and an FV-status hash, and it repeats 'OpenChainGraph compute node.' The status receipt and 'Open at' URL are not needed for correct invocation and could be moved out of the main description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the agent actually receives — lint findings, an artifact, or a browser delegation URL — but it only says it 'exports an AP2 artifact with execution_hash' and can return a browser URL. It also defers policy_parameters details to a manifest, leaving a key input under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the schema already documents compute, parent_hashes, parent_tool_ids, and policy_parameters with descriptions. The description adds only chain/provenance context around parent hashes and restates compute-mode behavior, without giving genuinely new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase identify a specific resource — a crypto-asset whitepaper linter in iXBRL — which distinguishes it from the many other lint_* siblings. However, the description itself never states what the linter actually checks or what result it produces; it only calls itself an 'OpenChainGraph compute node.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational compute-mode details and warns to 'use synthetic or anonymised inputs only,' but it says nothing about when to select this tool over other linters or when the browser delegation path is preferable from the caller's perspective. Any when-to-use signal is implied by the name and upstream/downstream references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_fedwire_structured_addressFedwire Structured Address LinterBRead-onlyIdempotentInspect
Fedwire Structured Address Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-350-fedwire-address-sweep. Open at: https://ainumbers.co/chaingraph/art-349-fedwire-structured-address-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: it states the tool is deterministic, processes inputs transiently without storage, and requires synthetic/anonymised data. It also mentions provenance via an AP2 artifact with execution_hash and provides a link to an external page with further FV-status information. These details go well beyond the annotations, which only cover readOnly, idempotent, and non-destructive flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous elements such as the long URL and an opaque 'FV-status' hash, which are not necessary for invoking the tool correctly. The core purpose is front-loaded, but the implementation details about compute modes and provenance could be condensed. The description would benefit from removing redundant or low-value details to improve readability for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers compute behavior and data handling, it is incomplete regarding the actual linting functionality. It never specifies what kind of checks are performed, what constitutes a valid Fedwire structured address, or what output the agent should expect (e.g., error codes, warnings, or an artifact structure). Without this information, an agent may not be able to interpret the results correctly, especially since no output schema is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage, including descriptions for each parameter. The description explains the compute parameter's behavior in prose (e.g., 'auto' vs 'browser'), but this information is already present in the schema. No additional parameter-level semantics are added that aren't already available, so the description does not elevate the agent's understanding beyond the structured definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Fedwire Structured Address Linter' and explains it is a deterministic OpenChainGraph compute node with a compliance mandate. It differentiates itself from similar tools (e.g., lint_cbpr_structured_address) by the specific resource type. However, the term 'lint' is not explicitly defined, and the connection to structured addresses is implicit in the name rather than fully explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'lint_cbpr_structured_address' or explain the conditions under which a user would select this over other validators or linters. The compute-mode details are useful but do not help differentiate from peers. The closest contextual cue is the name, which is not sufficient for an agent deciding which tool to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_insurance_evidence_freshnessAIUC-1 Evidence Freshness LintARead-onlyIdempotentInspect
AIUC-1 Evidence Freshness Lint: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-304-aiuc1-evidence-pack-assembler. Open at: https://ainumbers.co/chaingraph/art-305-aiuc1-evidence-freshness-lint.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool readOnly, idempotent, and non-destructive, and the description adds substantial behavioral detail beyond that: deterministic execution, transient non-retention of inputs, browser delegation behavior, AP2 artifact export with execution_hash, and offline-verifiable FV-status. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not bloated; each sentence contributes behavioral, provenance, privacy, or verification context. The Open-at URL and FV-status line are long but serve the tool's verification purpose, and the most important compute behavior is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still covers the key return concept (AP2 artifact with execution_hash), the browser delegation URL path, upstream artifact consumption, and offline verification of FV status. The main gap is that policy_parameters field names are deferred to an external manifest, which is acknowledged but not self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 value by explaining compute mode defaults, server vs. browser behavior, gpu:true delegation, and when policy_parameters are computed server-side. This goes beyond the schema's bare enum and field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'AIUC-1 Evidence Freshness Lint' and an 'OpenChainGraph compute node (compliance_mandate)', making the verb/resource pairing clear: linting evidence freshness in the AIUC-1 context. It does not explicitly contrast with sibling linters like lint_aiuc1_control_evidence, but the specific 'freshness' scope is enough to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear invocation context for compute modes (auto/server/browser), browser delegation, and the synthetic-inputs constraint, but it never says when to choose this tool over a sibling lint or compute tool. It guides parameter usage rather than tool selection, so it 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.
lint_lei_payment_bindingWolfsberg Payment Transparency & LEI Binding LinterBRead-onlyIdempotentInspect
Wolfsberg Payment Transparency & LEI Binding Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-242-pacs008-party-completeness-validator. Open at: https://ainumbers.co/chaingraph/art-246-lei-payment-binding-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash, and it provides a FV-status receipt that verifies offline. This goes beyond the annotations to explain data handling and provenance behavior, which is genuinely useful for an agent deciding whether to use this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that mixes purpose, execution modes, data handling, provenance, and verification URLs. It front-loads the purpose but then buries important operational details in a wall of text. The FV-status receipt explanation is tangential to tool invocation and could be trimmed. While every sentence carries information, the lack of structure (no bullets, no clear sections) makes it harder for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description covers execution modes, data handling, provenance, and verification. However, it does not explain what the linter actually checks (Wolfsberg Payment Transparency and LEI Binding rules are named but not elaborated), nor does it describe the output format beyond 'AP2 artifact with execution_hash'. The policy_parameters field is left opaque. Given the tool's complexity and the absence of an output schema, more detail on inputs and outputs would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about compute modes and the policy_parameters field, but it does not enumerate the specific field names within policy_parameters, deferring to 'the tool's manifest'. For a nested object parameter, this is a gap—the agent would need to look elsewhere to understand what to pass. The description adds some value but doesn't fully compensate for the opaque policy_parameters structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state this is a linter for Wolfsberg Payment Transparency and LEI Binding, operating as an OpenChainGraph compute node. It distinguishes itself from siblings like lint_lei_relationship_consistency and validate_pacs008_party_completeness by naming its specific compliance mandate and upstream artifact. However, the description is dense and mixes purpose with execution details, making the core function slightly less crisp than it could be.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and when server vs browser execution happens, which is useful operational guidance. It also names the upstream artifact it consumes. However, it does not explicitly state when to use this tool versus alternatives like lint_lei_relationship_consistency or validate_pacs008_party_completeness, nor does it provide exclusion criteria. The usage context is implied by the compliance mandate but not explicitly contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_mcp_server_conformanceMCP Server Self-Attestation PackBRead-onlyIdempotentInspect
MCP Server Self-Attestation Pack: OpenChainGraph compute node (infrastructure_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: cry-05-agent-action-audit-trail-aggregator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-33-mcp-server-self-attestation-pack.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: determinism, transient input processing with explicit 'not stored, logged, or retained' guarantees, the Cloudflare Workers execution environment, the gpu:true always-delegates-to-browser rule, and the 'snapshot, not a subscription' offline-verifiable receipt semantics. The 'Use synthetic or anonymised inputs only' warning is also valuable operational disclosure. Slight deduction because the relationship between the transient-processing claim and the artifact-export/download behavior could be clearer, but overall this meaningfully enriches the annotation-only picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place, but the description is wall-of-text dense, with heavy compound noun phrases and taxonomy-heavy strings ('cry-05-agent-action-audit-trail-aggregator', 'ptg-01-ap2-prompt-template-generator', '/fv-status/8b5ae30d...') that could have been broken out or, in the case of the FV blob hash, trimmed. The flow from identity to compute semantics to privacy to output to verification metadata is logical, but the gas only ~150 words with no bullets, which forces the reader to work.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description carries the full burden for explaining outputs, and it does address execution_hash, browser delegation URLs, and artifact export targets, plus downstream consumers and an offline verification receipt. However, the description never clarifies the core single most important outcome for a 'lint' style operation: what does a conformance check return (pass/fail, issues, normalized ruleset), and how would an agent map a conformance result back to an MCP server config? That gap is notable for a conformance-oriented tool in a broad sibling family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so per the rubric the baseline is 3. The description does add a bit of context by explaining the gating logic behind compute modes and the browser-delegation-URL behavior, and it references policy parameters mapping to a manifest. However, most of the compute-mode explanation is duplicative of the schema descriptions, and no new parameter semantics beyond what the schema already encodes are surfaced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource ('MCP Server Self-Attestation Pack: OpenChainGraph compute node (infrastructure_mandate)') and describes the deterministic compute behavior, server vs. browser delegation, and AP2 artifact export. However, the core verb is muddled: the name says 'lint conformance' but the description frames the tool as a 'compute node' and 'attestation pack', never stating the concrete linting/validation outcome (pass/fail, issues list, conformance score). An agent gets a good picture of *how* it computes but not a precise statement of the validation it performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over its many near-neighbor siblings such as lint_mcp_tool_definition, validate_mcp_server_identity, score_mcp_server_readiness, or check_mcp_registry_entry. The only usage-like instruction is 'Use synthetic or anonymised inputs only,' which constrains data content rather than tool selection. The parameter-level compute-mode semantics are helpful operationally but do not help an agent decide between this and an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_mcp_tool_definitionMCP Tool-Definition Linter & Annotation DesignerARead-onlyIdempotentInspect
Validate an MCP tool definition against JSON Schema 2020-12 and current naming, output-schema, and annotation rules; returns findings, a conformance score, and a recommended annotation set. Use when a developer wants to check an MCP tool definition before publishing. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | No | |
| findings | No | |
| annotations | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations that declare read-only and idempotent behavior, the description reveals non-obvious traits: it renders an interactive widget, operates client-side with zero PII and zero network, and uses AIN Bridge for inputs. This fully discloses the execution model and data privacy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with a clear front-loaded action. The second sentence is slightly long, bundling multiple details, but each part serves a purpose. Minor verbosity is acceptable given the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (linter with output schema, widget rendering, client-side execution) and rich annotations, the description covers purpose, usage, behavioral traits, input mechanism, and return values (findings, score, annotation set). No gaps are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage for the 'inputs' parameter ('Map of tool input element IDs to values...'). The description adds only minor context about widget rendering and AIN Bridge prefill, not substantially enriching the parameter meaning beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates MCP tool definitions against specific rules (JSON Schema 2020-12, naming, output-schema, annotations) and returns findings. However, it does not explicitly differentiate from sibling lint tools that focus on domain-specific validation, relying on context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when a developer wants to check an MCP tool definition before publishing,' providing clear context. It does not mention when to avoid using it (e.g., for domain-specific linting), but the sibling list implies alternative tools exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_metro2_recordMetro 2 Credit-Reporting Record LintBRead-onlyIdempotentInspect
Metro 2 Credit-Reporting Record Lint: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-398-lint-metro2-record.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds material context beyond the annotations: deterministic execution, server-side vs browser delegation based on compute and gpu flags, transient processing with no retention, and export of an AP2 artifact with execution_hash. It also warns to use synthetic or anonymised inputs only, which is a useful operational caveat. This is consistent with the readOnly/idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is cluttered with redundant phrases ('Deterministic OpenChainGraph compute node' appears after the same phrase in the first sentence) and operational links (open URL, FV-status URL). The essential linting purpose is buried under compute-node details, making it longer than necessary to understand what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the lint returns; it only mentions an AP2 artifact with execution_hash, not the lint findings. It covers compute modes, retention, and provenance, but lacks a definitive statement of result format or required input structure for the lint itself. It gives enough to call the tool but not enough to interpret its output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes all four parameters with 100% coverage. The description enriches the compute parameter by explaining default behavior, browser delegation, and gpu:true handling. It does not comment on parent_hashes/parent_tool_ids beyond the schema, and policy_parameters is deferred to the manifest, but overall the description adds some semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the tool's title and identifies it as an OpenChainGraph compute node, but never explicitly states what linting checks are performed on Metro 2 records, nor how it differs from sibling lint tools. The verb 'lint' is implied by the name, and the description focuses on compute infrastructure rather than the actual validation behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other linters; it only describes compute modes and data retention. It does not mention alternatives or exclusions, leaving the agent to infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_mismo_uldd_uladULDD/ULAD Structural LinterCRead-onlyIdempotentInspect
ULDD/ULAD Structural Linter: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-226-mismo-uldd-ulad.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, conveying a safe, non-destructive operation. The description adds a few behavioral details: inputs are processed transiently and not stored, and compute modes (server/browser) affect execution location. These add some context, but they do not disclose any additional side effects or limitations beyond what annotations imply. The description does not describe the output format or pagination, but for a read-only linter this is not a major gap given annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, verbose, and unfocused. It starts with the purpose but quickly pivots to compute binding details, then to transient processing, then to AP2 artifact export, and finally to a URL and FV-status JSON link. Many of these details (e.g., the specific link and snapshot verification) are tangential and could be moved to annotations or documentation. The description is not front-loaded with the most critical information for tool selection; the core linting behavior is buried under process details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has four parameters, nested objects, and no output schema, the description should compensate by explaining what the tool returns and what 'structural linting' entails. It fails to do so: it never states what the response contains (e.g., lint results, errors, pass/fail), nor does it define ULDD/ULAD or the structural rules being checked. The mention of 'Exports an AP2 artifact with execution_hash' is a side effect, not the primary output. The description is incomplete for an agent to understand how to invoke it correctly and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning all four parameters have descriptions in the schema. The description adds little beyond what is already in the schema — it mentions compute modes and policy_parameters generically but does not elaborate on how they affect the linting. The 'parent_hashes' and 'parent_tool_ids' are not explained in the description, relying solely on schema. Since the schema covers the parameters well, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'ULDD/ULAD Structural Linter' and mentions 'compliance_mandate', which hints at its purpose of validating loan data structure. However, it never explicitly states what the linter checks, what inputs it expects, or what output it produces. It quickly devolves into OpenChainGraph compute details, making the core purpose ambiguous. It differentiates from siblings only by the ULDD/ULAD domain, but many siblings are similar linters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not describe under what conditions one would choose lint_mismo_uldd_ulad over other linters (e.g., lint_ab2013_training_data_disclosure, lint_cbom_structure). No use cases, prerequisites, or exclusions are provided. The only contextual hint is the domain name, which is insufficient for an agent to select it confidently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_securities_settlement_messageSecurities-Settlement Message Linter (ISO 20022 sese/semt)BRead-onlyIdempotentInspect
Securities-Settlement Message Linter (ISO 20022 sese/semt): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-81-allocation-affirmation-conformance. Output feeds: cry-04-merkle-batch-verifier, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-82-securities-settlement-message-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral context: inputs are transient and not stored/logged/retained, compute modes influence server vs. browser execution, and it exports an AP2 artifact with execution_hash. This meaningfully extends beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, including operational details like Cloudflare Workers, browser delegation, and lengthy URLs for the tool and FV-status. It repeats the name and includes chain-specific jargon that adds noise. Not front-loaded; it dives into compute mechanics before stating the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the tool returns (e.g., lint findings, errors, artifact details). It only mentions an 'AP2 artifact with execution_hash' but doesn't explain the response format. Also omits what constitutes a valid input message, which is critical for a linter. The description is complete on data handling but incomplete on operational output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters. The tool description reiterates compute modes and mentions chain provenance for parent_hashes, adding some context. However, the description doesn't resolve the ambiguity of 'policy_parameters' (it says 'See the tool's manifest'), which is a gap, but since schema coverage is high, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name clearly indicate it's a linter for ISO 20022 sese/semt securities-settlement messages. The description explicitly calls it a 'Securities-Settlement Message Linter' and a deterministic compute node, which is clear. However, it doesn't elaborate on what linting entails (e.g., checks performed), leaving some ambiguity about the actual scope of linting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit guidance on when to use this tool versus sibling linters (e.g., lint_settlement_orchestrator_conformance, lint_besu_settlement_contract). It does explain compute mode selection (auto/server/browser) and that synthetic/anonymised inputs should be used, but it doesn't state when this specific tool is appropriate or when alternatives are preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_settlement_orchestrator_conformanceSettlement Orchestrator AttestationARead-onlyIdempotentInspect
Settlement Orchestrator Attestation: OpenChainGraph compute node (infrastructure_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-289-lint-besu-settlement-contract. Open at: https://ainumbers.co/chaingraph/art-292-attest-settlement-orchestrator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial behavior beyond that: inputs are processed transiently and not stored/logged/retained, compute mode changes execution location, gpu:true always delegates to the browser, and the FV-status receipt is a snapshot rather than a subscription. This gives an agent strong expectations about side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but not tight: 'OpenChainGraph compute node' is stated twice in close succession, and the URL plus FV-status path add provenance detail that may be useful but is not essential for invocation. It is not poorly organized, but it does not meet the 'every sentence earns its place' standard.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explains the execution model, data retention behavior, upstream artifact dependency, and the high-level output shape (AP2 artifact with execution_hash, or a browser delegation URL). It does not explicitly state what the conformance result looks like, but it provides enough operational context for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly repeats the compute enum semantics already present in the schema, adding only minor nuance like 'client-side execution'. It does not meaningfully extend the meaning of parent_hashes, parent_tool_ids, or policy_parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific domain ('Settlement Orchestrator Attestation') and an output type ('Exports an AP2 artifact'), but it never states an explicit operation such as 'checks', 'validates', or 'attests' conformance. It relies on the tool name to convey the core action, making it vague rather than a clear verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is useful operational context such as compute-mode selection, 'Use synthetic or anonymised inputs only', and 'Consumes upstream artifacts from art-289-lint-besu-settlement-contract'. However, there is no explicit 'use this when' statement, no exclusions, and no named alternative tools, so usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_stock_token_valuationValuation Double-Count / Decimal LinterARead-onlyIdempotentInspect
Valuation Double-Count / Decimal Linter: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-319-rhc-valuation-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint=true and idempotentHint=true annotations covering the safety profile, the description adds meaningful behavioral context: inputs 'are processed transiently... not stored, logged, or retained,' a critical 'Use synthetic or anonymised inputs only' warning, and the FV-status receipt detail for provenance verification. This goes well beyond the annotations by disclosing data-handling policy, which is exactly the kind of context an agent needs before sending data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense with every sentence adding value: compute semantics, data retention, provenance, and verification URL. However, it reads as a dense wall of text — the URL, FV-status receipt, and version-specific details ('v0.4 Compute Binding') could be trimmed or moved to annotations. The most important behavioral detail (purpose of the linter) is front-loaded in the title, which is good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic linter with a 100%-covered schema and no output schema, the description covers the execution model, data handling, and provenance chain well. But it's silent on the actual linting rules—what constitutes a double-count or decimal failure — and the policy_parameters schema defers to 'the tool's manifest' for field names, which is a gap the description could have filled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with no need for the description to repeat parameter information. The description does add some value by explaining the behavior behind the compute parameter (e.g., what compute:'browser' does at runtime), but it's largely redundant with the schema's own detailed field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool's purpose is specific: it's a linter for stock token valuations checking for double-count and decimal issues, and it's clearly identified as a 'Deterministic OpenChainGraph compute node (collateral_mandate).' The verb 'lint' plus resource 'stock_token_valuation' is specific and helps distinguish it from the many sibling compute_* tools. However, it loses a point because the description never actually explains what a 'double-count' or 'decimal' lint check entails — the agent gets the name of the check but not the rules behind it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the name and the compute-mode explanation (compute:'auto' routes to server vs browser delegation), which is genuinely useful for deciding how to invoke the tool. However, there is no explicit guidance on when to use this tool vs the many peer lint_* tools (e.g., lint_cbom_structure, lint_mcp_server_conformance), and no 'use X instead' alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_trace_cat_reportsTRACE / CAT Reporting LintARead-onlyIdempotentInspect
TRACE / CAT Reporting Lint: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-396-compute-15c3-3-reserve. Open at: https://ainumbers.co/chaingraph/art-397-lint-trace-cat-reports.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states that inputs are processed transiently, not stored/logged/retained, which is a valuable behavioral disclosure beyond the readOnlyHint annotation (which just says true). It also mentions it exports an AP2 artifact with execution_hash for chain provenance, which adds context about side effects (though idempotent, it produces an artifact). The compute mode behavior is clearly explained. No contradiction with annotations - in fact, the description aligns with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long and contains a lot of information, some of which feels boilerplate or environment-specific (e.g., the FV-status URL, the chain provenance details). It starts with the core purpose but then dives into technical details that might be distracting. While it's packed with useful info, it could be more focused. The sentence about 'Deterministic OpenChainGraph compute node' is repeated almost verbatim a few times, reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for an agent to decide whether to use this tool: it explains what it does (lints TRACE/CAT reports), how it executes (compute modes), that it's deterministic and non-retaining, what it consumes (upstream artifacts), what it produces (AP2 artifact with execution_hash), and provides a URL. It also warns about input sensitivity. Given the complexity and the presence of annotations (readOnly, idempotent), this is well-rounded.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema describes all parameters well. The description adds context about the compute parameter's behavior (server vs browser) and explains policy_parameters are for the decision function. It notably adds a warning about using only synthetic/anonymised inputs, which is an important addition beyond the schema. However, it doesn't elaborate on parent_hashes or parent_tool_ids beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: an OpenChainGraph compute node for TRACE/CAT reporting lint. The verb 'lint' is specific, and the resource (TRACE/CAT reports) is named. However, it doesn't explicitly differentiate from sibling lint tools like lint_ab2013_training_data_disclosure or lint_aiuc1_control_evidence, but the context of TRACE/CAT is distinctive enough given the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and notes that gpu:true nodes delegate to browser, which gives context for when to use. It mentions consuming upstream artifacts from a specific source and provides a URL. However, it doesn't explicitly state when to use this tool vs alternatives, or when not to use it. The guidance is more about operational details than usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_ucp_checkout_payloadUCP Checkout Payload LintCRead-onlyIdempotentInspect
UCP Checkout Payload Lint: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-564-ucp-checkout-payload-lint.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavior beyond the annotations: deterministic execution, transient processing with no storage/logging/retention, compute-mode delegation for browser/auto/gpu scenarios, and the export of an AP2 artifact with execution_hash provenance. These details do not contradict readOnlyHint, openWorldHint, idempotentHint, or destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and logically ordered, but it includes multiple URLs, FV-status details, and provenance boilerplate that do not help an agent invoke the tool correctly. It is more bloated than concise, though still understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not say what the lint result looks like, what counts as a UCP checkout violation, or what the exported artifact indicates. Even with strong annotations and a well-described parameter schema, the missing lint semantics and return-value behavior are material gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters and the compute enum, so the high coverage baseline applies. The description usefully explains the intended server-side versus browser delegation behavior and the synthetic-inputs expectation, but it does not reveal the actual fields in policy_parameters or how to construct a real lint request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title declares a clear intent to lint UCP checkout payloads, but the description itself mainly describes the tool as an OpenChainGraph compute node and compliance mandate without stating what the lint checks, what a valid payload looks like, or what output indicates failure. It is not a pure tautology, but it leaves the core semantic purpose mostly to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 distinction from sibling tools such as validate_acp_checkout, lint_mcp_tool_definition, or the broader lint/validate family. The only operational note is to use synthetic or anonymised inputs, which is a data-handling constraint rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_x12_claim_recordsX12 837/835 Healthcare-Claim Records LintBRead-onlyIdempotentInspect
X12 837/835 Healthcare-Claim Records Lint: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-399-lint-x12-claim-records.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only, idempotent, and non-destructive; the description adds determinism, compute-mode behavior (server vs browser delegation), transient no-retention processing, AP2 artifact export with execution_hash, and FV-status snapshot semantics. This is substantial behavioral context beyond what annotations provide, and it contradicts nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the resource and operation, but it repeats 'OpenChainGraph compute node' and includes URL/FV-status provenance details that are not needed for invocation. It is organized and mostly relevant, though somewhat bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description never explains what the lint result contains—errors, warnings, a report, or artifact contents. It mentions an AP2 artifact with execution_hash but not the lint findings, and policy_parameters field names are deferred to a manifest. An agent would have to guess the return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 4 parameters with descriptions, so the baseline is 3. The description reinforces compute-mode semantics and notes that policy_parameters are computed server-side, but it adds no field names or formats beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence clearly identify the resource (X12 837/835 healthcare-claim records) and the operation (lint), distinguishing it from sibling lint_* tools by domain. However, the description never states what the lint actually checks or what a successful lint result looks like.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sibling lint/validation tools, and no alternatives or exclusions are named. The only usage instruction, 'Use synthetic or anonymised inputs only,' is a data-handling constraint rather than a tool-selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_x402_v2_migrationx402 v2 Wire-Format Migration LinterBRead-onlyIdempotentInspect
x402 v2 Wire-Format Migration Linter: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-26-x402-payload-decoder-flow-simulator. Output feeds: art-61-x402-batch-settlement-reconciler, art-394-x402-deferred-handshake-validator. Open at: https://ainumbers.co/chaingraph/art-393-x402-v2-migration-linter.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing that inputs are processed transiently and not stored, logged, or retained, and that execution is server-side on Cloudflare Workers by default with browser delegation for certain modes. It also states the tool is deterministic and exports an AP2 artifact with execution_hash, plus specific upstream/downstream artifact relationships. These details are entirely additive and consistent with the read-only, idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is nearly 200 words and includes substantial non-essential information, such as the URL and the FV-status receipt block, which are irrelevant to an agent deciding when to call the tool. Core purpose information is buried under platform mechanics like compute modes and artifact flows, and 'OpenChainGraph compute node' appears twice. The front-loaded content is the title itself, not a concise functional statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only says the tool 'exports an AP2 artifact with execution_hash' but doesn't describe the lint results themselves, which is a significant gap for a linter. The upstream artifact references indicate inputs, but the description doesn't explain how to obtain or format parent_hashes from those artifacts. The compute and privacy behavior is well covered, but the actual deliverable of the linter is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage for all four parameters, including the compute enum semantics and the roles of parent_hashes, parent_tool_ids, and policy_parameters. The description adds marginal context like 'Cloudflare Workers' as the server-side execution environment, but it doesn't clarify how to construct parent_hashes/parent_tool_ids pairs or what policy_parameters should contain beyond the schema's reference to the manifest. Given the high schema coverage, the description's incremental value is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'x402 v2 Wire-Format Migration Linter' and an 'OpenChainGraph compute node (compliance_control)' but never explicitly states what the linting checks for or what a successful migration looks like. The purpose is carried mostly by the tool name; the body focuses on compute modes and provenance rather than the tool's actual function. This makes it hard for an agent to know what the tool will return or what issues it detects, so it's only marginally clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives implied usage via the name and the 'compliance_control' classification, but it doesn't state when to prefer this linter over other lint_* tools in the sibling list. It does provide concrete guidance on compute parameter values and warns to use synthetic/anonymised inputs, which helps with invocation. No explicit exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ainumbers_toolsList AINumbers toolsARead-onlyIdempotentInspect
Search the AINumbers catalog (480+ client-side fintech tools). Returns deep-links; prefill-enabled tools accept #in=<base64url(JSON of {element_id: value})>[&run=1] for one-click invocation.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return. Default 20. | |
| query | No | Free-text search over tool name and description. Omit to list without filtering. | |
| category | No | Restrict results to one catalog category (e.g. "mortgage", "kyc"). Omit for all categories. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond annotations, such as returning deep-links and the prefill-enabled parameter syntax. It aligns with the readOnly, idempotent, and non-destructive annotations, providing a transparent view without contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct, consisting of two clear sentences. The first establishes the core function, and the second explains the return and special feature, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the primary purpose, return type (deep-links), and a notable feature (prefill invocation). It does not detail the full output structure or parameter behaviors, but given the simple listing nature and existing schema, it is sufficiently complete for context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description does not elaborate on the parameters beyond the schema descriptions. Since the schema already covers all three parameters with concise descriptions, the tool description adds no extra meaning, staying at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching the AINumbers catalog of 480+ client-side fintech tools. It also mentions returning deep-links and the prefill capability, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching the catalog, but does not explicitly contrast with alternative tools or state conditions for when to prefer this over others. However, the intent is clear from the name and description, so it is mostly adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_mletr_jurisdiction_adoptionMLETR Jurisdiction-Adoption LookupCRead-onlyIdempotentInspect
MLETR Jurisdiction-Adoption Lookup: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-354-mletr-jurisdiction-adoption-lookup.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond annotations: deterministic computation, transient input processing with no storage/logging/retention, server-side vs browser delegation modes, AP2 artifact export for provenance, and FV-status verification semantics. The annotations already mark readOnly and idempotent, and the description complements them without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph mixing purpose, execution model, privacy guarantees, provenance links, and verification receipts. It leads with generic compute-node details rather than the core lookup function. Several URLs and hash strings add noise without helping an agent decide how to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with 100% schema coverage, the description leaves out the essential domain meaning: what MLETR jurisdiction adoption is, what inputs the decision function expects, and what the response looks like. The tool is itself a lookup, so the lack of any return value or adoption-status explanation makes it under-specified for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are already described in the input schema. The description only tangentially references 'compute' and does not explain policy_parameters field names, deferring to 'the tool's manifest' which is not included. No additional parameter meaning is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with the title and classifies the tool as an 'OpenChainGraph compute node (compliance_mandate)', but never states what MLETR jurisdiction adoption means or what the lookup returns. The verb 'lookup' is implicit in the name, not the description. No sibling tool is named or contrasted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance about when to choose this tool over related tools like validate_mletr_record or route_einvoice_jurisdiction_mandate. The only constraint is 'Use synthetic or anonymised inputs only', which is a privacy directive, not a usage context. No when-to-use or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_reg_z_thresholdsReg Z Threshold LookupCRead-onlyIdempotentInspect
Reg Z Threshold Lookup: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-220-reg-z-threshold-lookup.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, idempotent, and non-destructive; the description adds meaningful behavior: deterministic execution, transient processing with no storage/logging/retention, and AP2 artifact export with execution_hash. It also clarifies compute-mode delegation behavior for gpu:false vs gpu:true nodes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's identity and deterministic nature, but it repeats 'OpenChainGraph compute node' and spends a long tail on FV-status verification details. It is informative but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich operational detail, the description never explains the actual output of the lookup or what policy_parameters should contain, and there is no output schema to fill that gap. An agent still cannot tell what threshold values will be returned or how to construct a valid request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters. The description adds no new parameter-level meaning beyond echoing compute defaults and the policy_parameters manifest pointer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title ('Reg Z Threshold Lookup') and labels it a compute node, but never states what the tool actually returns or what 'Reg Z thresholds' refers to. The body is dominated by execution mechanics (compute modes, Cloudflare Workers) rather than a domain-level statement of the lookup's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides operational guidance—compute mode selection and 'Use synthetic or anonymised inputs only'—and context that this is a compliance_mandate node. However, it never says when to prefer this tool over sibling tools or what problem it solves relative to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_agent_payment_mandateAgent Payment Mandate Cross-Protocol MapperCRead-onlyIdempotentInspect
Agent Payment Mandate Cross-Protocol Mapper: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-476-map-agent-payment-mandate.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful transparency beyond the annotations. It explicitly states that inputs are processed transiently, not stored, logged, or retained, and advises using synthetic or anonymised inputs. It also discloses that it exports an AP2 artifact with an execution_hash for chain provenance and that compute behavior is server-side for auto/server on gpu:false nodes with a registered kernel, otherwise browser delegation. These details go beyond the readOnly and idempotent hints, though the core decision logic remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, starting with 'Deterministic OpenChainGraph compute node' and then repeating compute-mode details that already exist in the schema. It includes long URLs and FV-status boilerplate unrelated to core functionality. The essential purpose is buried under execution details, making the description poorly structured and not front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks a clear explanation of the tool's output beyond mentioning an AP2 artifact with a hash. There is no info on what the mapping result contains, how to interpret it, or how to use the returned artifact. Since there is no output schema, the description should at least outline the expected return value, but it does not. It also omits details about the decision function's inputs and outcomes, leaving the tool incomplete for an agent's decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full descriptions for all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description repeats the compute behavior but adds no new meaning. The policy_parameters field is only referenced to a 'manifest' without elaboration, so the description does not improve parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the tool as 'Agent Payment Mandate Cross-Protocol Mapper' but does not explain what mapping entails. It focuses on compute mode, artifact export, and data handling, but never specifies the core decision function or the mapping logic. This leaves the purpose ambiguous and does not distinguish it from siblings like 'crosswalk_agent_payment_rail_trust' or 'select_agentic_checkout_protocol'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of conditions, prerequisites, or typical scenarios. The description only covers execution mechanics (compute modes, artifact export) and does not indicate under what circumstances an agent should choose this tool over related mapping/comparison tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_ai_act_procurement_clausesAI Act Procurement Clause MapperARead-onlyIdempotentInspect
AI Act Procurement Clause Mapper: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-64-ai-act-highrisk-fit-diagnostic. Output feeds: art-411-ai-addendum-assembler. Open at: https://ainumbers.co/chaingraph/art-412-ai-act-procurement-clause-mapper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description discloses deterministic execution, compute mode behavior (server vs browser delegation), transient input processing with no storage/logging/retention, and the export of an AP2 artifact with execution_hash. It also notes the FV-status is a snapshot, not a subscription, which is useful trust context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and repetitive, stating 'Deterministic OpenChainGraph compute node' twice and including a full FV-status hash and URL that are not needed for tool invocation. It is not front-loaded with the most decision-relevant information and would benefit from tighter organization.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides strong execution context: compute modes, privacy behavior, chain provenance, and upstream/downstream links. However, it never explains what the mapper actually maps or what the output artifact contains beyond execution_hash, and it defers policy_parameters field details to an external manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description adds context for compute modes and mentions policy_parameters, but it does not explain parent_hashes, parent_tool_ids, or the actual fields inside policy_parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description identify this as an AI Act Procurement Clause Mapper and an OpenChainGraph compute node with a compliance_mandate. It names its upstream and downstream artifacts, which helps position it in a chain, though it never states the actual mapping action in a direct verb phrase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it consumes art-64-ai-act-highrisk-fit-diagnostic and feeds art-411-ai-addendum-assembler, and it instructs users to provide synthetic or anonymised inputs only. It does not explicitly name alternative tools or exclusion conditions, but the chain context is sufficient for an agent to decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_bhc_schedule_hcFR Y-9C Schedule HC (Consolidated Balance Sheet) MapperARead-onlyIdempotentInspect
FR Y-9C Schedule HC (Consolidated Balance Sheet) Mapper: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-436-bhc-schedule-hcr-capital. Open at: https://ainumbers.co/chaingraph/art-435-bhc-schedule-hc-balance-sheet.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations by detailing the non-persistence of inputs ('processed transiently... not stored, logged, or retained') and the requirement to use synthetic or anonymised inputs. It also mentions the execution_hash artifact and FV-status mechanism. This provides useful behavioral context beyond the readOnlyHint and idempotentHint annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is information-dense, it front-loads the tool name and then dives into compute mode details before mentioning the output feed and open link. It mixes operational details (compute modes, execution environment) with functional details, which could be better structured. It's not overly long but could be more efficient in presenting the core purpose and usage first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, execution environment, privacy, output artifact, and a link, but it doesn't explain what 'mapping' means for this tool or what inputs (beyond policy_parameters) are expected to make it function. Given 4 parameters, no output schema, and the complexity of regulatory mapping, the description could provide more detail on the mapping behavior and required data structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage, meaning all four parameters are documented in the schema itself. The description adds no additional parameter-level meaning beyond referencing the policy_parameters manifest. Since schema coverage is complete, the baseline of 3 is appropriate—the description doesn't need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the tool as a deterministic OpenChainGraph compute node for the FR Y-9C Schedule HC (Consolidated Balance Sheet). It clearly states the verb 'Mapper' and the resource (Schedule HC), and it distinguishes itself from siblings like map_bhc_schedule_hcr and map_call_report_schedule_rc by naming the specific regulatory schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use this tool (for mapping Schedule HC data) and explains the compute modes ('auto', 'server', 'browser') with conditions. However, it does not explicitly state when NOT to use this tool or point to an alternative, though siblings exist (map_bhc_schedule_hcr). The compute mode guidance is helpful for execution context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_bhc_schedule_hcrFR Y-9C Schedule HC-R (Regulatory Capital) CalculatorARead-onlyIdempotentInspect
FR Y-9C Schedule HC-R (Regulatory Capital) Calculator: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-435-bhc-schedule-hc-balance-sheet. Open at: https://ainumbers.co/chaingraph/art-436-bhc-schedule-hcr-capital.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds substantial context: it is deterministic, processes inputs transiently without storage or logging, requires synthetic/anonymised inputs, exports an AP2 artifact with execution_hash, and notes the FV-status is a snapshot. This goes well beyond the annotations, giving the agent a clear picture of side effects, data handling, and provenance. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, covering compute modes, privacy, artifact export, upstream dependency, and a URL/proof path. It is front-loaded with purpose but includes a significant amount of detail (e.g., the FV-status path) that may be tangential for tool selection. Each sentence adds information, yet the description could be trimmed to focus on the core behavioral essentials without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with complex behavior (compute modes, upstream artifacts, chain provenance), the description covers the key elements: compute variants, transient processing, artifact export, and upstream dependency. It does not describe the output format beyond 'AP2 artifact with execution_hash', but since no output schema exists, the agent might need more detail on the actual computed values returned. Still, given the complexity and the annotations providing safety guarantees, the definition is largely complete for calling the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some context to policy_parameters (that it is the decision function input and is computed server-side under certain conditions) and explains the compute enum values, but it does not provide field names for policy_parameters, deferring to 'the tool's manifest'. The other parameters (compute, parent_hashes, parent_tool_ids) are adequately described in the schema, so the description adds marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'FR Y-9C Schedule HC-R (Regulatory Capital) Calculator', clearly stating the specific resource and function. It is distinguishable from the sibling map_bhc_schedule_hc (balance sheet) by the title and the explicit 'HC-R' and 'Capital' mention, though it never directly contrasts itself with that sibling. The verb 'Calculator' plus 'compute node' conveys it computes regulatory capital figures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this tool versus alternatives like map_bhc_schedule_hc. The description mentions it consumes upstream artifacts from a specific balance-sheet artifact, implying a chain workflow, but does not state exclusions or alternative scenarios. The compute mode guidance ('auto', 'server', 'browser') is operational usage, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_call_report_schedule_rcCall Report Schedule RC (Balance Sheet) MapperARead-onlyIdempotentInspect
Call Report Schedule RC (Balance Sheet) Mapper: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-434-call-report-edit-check-gate. Open at: https://ainumbers.co/chaingraph/art-432-call-report-rc-balance-sheet.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the annotations: inputs are 'processed transiently' and 'not stored, logged, or retained'; it exports an AP2 artifact with execution_hash for chain provenance; it describes the output feed and provides an offline-verifiable FV-status receipt. This is consistent with readOnlyHint=true, idempotentHint=true, and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense block of several hundred words mixing compute-binding mechanics, provenance hash details, a URL, and a JSON verification hash. It front-loads reasonably but is overpacked and unstructured; an agent must parse a wall of jargon to extract the essentials. This is not concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with nested policy_parameters, no output schema, and multiple compute modes, the description covers most operational essentials: compute binding, transient processing, provenance export, downstream feed, and verification. The main gap is that the actual policy_parameters field semantics are pushed to an external manifest rather than described inline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters. The description largely re-explains the compute modes present in the schema. The one gap it could have filled — the field names for policy_parameters — is explicitly deferred to a 'manifest' the agent may not have access to, so it adds no semantic value there. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource ('Call Report Schedule RC (Balance Sheet)') and labels the operation as 'Mapper'/'compute node', and it names the downstream consumer (art-434-call-report-edit-check-gate). It is distinguishable from its sibling map_call_report_schedule_rcr. However, 'map' is never concretely defined — what transformation or fields it produces is left vague, relying on jargon rather than stating the actual output semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives meaningful context: it explains the compute binding choices ('auto'/'server'/'browser'), the gpu:true delegation rule, and explicitly warns to 'Use synthetic or anonymised inputs only.' But it never says when to use this tool versus a sibling (e.g., map_call_report_schedule_rcr) or when not to use it, leaving usage selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_call_report_schedule_rcrCall Report Schedule RC-R (Regulatory Capital) MapperBRead-onlyIdempotentInspect
Call Report Schedule RC-R (Regulatory Capital) Mapper: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-434-call-report-edit-check-gate. Open at: https://ainumbers.co/chaingraph/art-433-call-report-rcr-capital.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond annotations: deterministic execution, transient input processing (not stored/logged), compute modes (auto/server/browser), and browser delegation behavior for gpu:true nodes. These align with the readOnlyHint, idempotentHint, and destructiveHint annotations, with no contradictions. It could be more concise, but the transparency is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' twice in the first two sentences. It includes tangential details like the URL and FV-status receipt, which could be separated or omitted. The core information is buried under technical jargon, reducing readability for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should clarify what the tool returns, but it only vaguely states 'Exports an AP2 artifact with execution_hash'. It also does not explain how to use parent_hashes and parent_tool_ids or what policy_parameters should contain. Given the tool's complexity (nested objects, 4 parameters), this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are documented clearly in the schema. The description adds minimal parameter-level insight, only referring to 'policy_parameters' and suggesting consulting a manifest. It does not enhance understanding of how to set parameters beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a mapper for Call Report Schedule RC-R (Regulatory Capital) and ties it to a specific output feed, which helps distinguish it from sibling mapping tools like map_call_report_schedule_rc. However, it does not explicitly state what the mapping transforms or the precise nature of the output beyond an AP2 artifact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description mentions it feeds an edit-check gate, implying context, but there are no stated conditions, exclusions, or comparisons to sibling tools (e.g., map_call_report_schedule_rc). The usage context is only implied by the schedule name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_irrbb_standardised_approachIRRBB Standardised Approach MapperCRead-onlyIdempotentInspect
IRRBB Standardised Approach Mapper: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-187-irrbb-csrbb-scope-checker. Open at: https://ainumbers.co/chaingraph/art-186-irrbb-standardised-approach-mapper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing determinism, transient processing, no storage/logging/retention, browser delegation for gpu:true nodes, AP2 artifact export with execution_hash, and offline-verifiable FV-status receipts. These are meaningful behavioral traits an agent could not infer from readOnlyHint or idempotentHint. It still does not cover failure or edge-case behavior, but the transparency level is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into compute semantics, data handling, output artifact, and provenance sections, which helps readability. However, the first two sentences are redundant ('OpenChainGraph compute node' appears twice), and the FV-status receipt details add length beyond what is needed for tool selection or invocation. It is not bloated, but it is not crisp either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The execution model, retention behavior, output feeds, URL, and provenance verification are covered in detail. What is missing is the domain substance: what the standardised approach mapping takes as input, what it emits semantically, and what fields policy_parameters requires. Since there is no output schema and the most important parameter object is deferred to a manifest, the agent is not fully equipped to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 even without extra parameter gloss. The description reinforces synthetic-input safety and server/browser execution placement, but it adds no field-level meaning for compute, parent_hashes, parent_tool_ids, or policy_parameters. policy_parameters is explicitly deferred to the tool's manifest, leaving the most domain-critical parameter opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the tool's title ('IRRBB Standardised Approach Mapper') and labels it an 'OpenChainGraph compute node,' but never states what the mapping actually computes or transforms. 'Output feeds: art-187-irrbb-csrbb-scope-checker' hints at a pipeline role without defining the tool's core function. An agent cannot distinguish its actual purpose from calculate_irrbb_eve_shocks, evaluate_irrbb_sot_eve, or check_irrbb_csrbb_scope based on this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance about compute modes ('auto' vs 'browser') and says to use synthetic or anonymised inputs only, but it does not state when to choose this tool versus related IRRBB siblings. The mention of a downstream scope-checker artifact provides pipeline context but not selection criteria. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_iso20022_to_evm_calldataISO 20022-to-EVM Calldata MapperARead-onlyIdempotentInspect
ISO 20022-to-EVM Calldata Mapper: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-291-screen-onledger-transfer-batch. Open at: https://ainumbers.co/chaingraph/art-288-map-iso20022-to-evm-calldata.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description significantly enriches the annotations: it discloses that inputs are processed transiently and are not stored, logged, or retained, that the node is deterministic, how browser/server delegation works on gpu:false and gpu:true nodes, and that an AP2 artifact with execution_hash is exported for on-chain provenance. These behaviors align with readOnlyHint, idempotentHint, and no destructionHint, so there is no annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Most behavioral details are useful and directly relevant to invoking the tool. But the description repeats the tool title and `OpenGraph compute node` nearly verbatim in the first two sentences, and the FV-status/provenance block is long and marginally relevant to selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description is very useful in saying what the tool emits, what it feeds, and how it handles privacy and execution. The main gap is the opaque `policy_parameters` payload: the calling agent cannot determine how to structure the actual ISO 20022 input without retrieving the referenced manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some runtime semantics around compute, but does not add field-level detail. In particular, `policy_parameters` is still only a pointer to an external manifest, so the description does not clarify its actual contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and opening line clearly identify the resource and transformation: ISO 20022 to EVM calldata. The description adds that it is a deterministic, compliance-related OpenChainGraph compute node whose output feeds an on-ledger transfer batch artifact, so an agent can infer what it produces. However, it does not explicitly state an active user-facing description and does not differentiate itself from other map_* sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to select this tool instead of an alternative mapper, and no mention of when to avoid it. The compute-mode explanation describes execution routing, not invocation context. The input-safety rule `Use synthetic or anonymised inputs only` is operational guidance, but it does not tell an agent when or why to use this tool against a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_mt9xx_to_camtSwift MT9xx to camt Statement Migration MapperBRead-onlyIdempotentInspect
Swift MT9xx to camt Statement Migration Mapper: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-563-mt9xx-camt-statement-migration-mapper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds substantial behavioral context: compute modes (auto/server/browser), Cloudflare Workers execution, browser delegation for gpu:true nodes, transient processing with no storage/logging/retention, deterministic behavior, AP2 artifact export with execution_hash, and FV-status snapshots. This gives an agent clear expectations of what happens on invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably organized but contains redundancy, such as saying 'OpenChainGraph compute node' twice, and includes auxiliary provenance noise like the Open-at URL and the long FV-status receipt explanation. The compute-mode paragraph is verbose and could be tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does not adequately explain the return value beyond mentioning an AP2 artifact with an execution_hash. It also omits what policy_parameters should contain and what the mapped output looks like, leaving an agent without enough information to know what this 'migration mapper' produces or how to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description mostly restates the compute enum behavior already in the schema and adds no meaningful detail about parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema provides; policy_parameters even defers to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name convey a specific mapping operation (Swift MT9xx to camt statement), but the description itself only labels it as an 'OpenChainGraph compute node (compliance_mandate)' and dives into execution mechanics without explaining what the mapping actually does. It does not distinguish this tool from related siblings like parse_camt053_reconciliation or score_mt_mx_translation_fidelity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to select this tool over alternatives. 'Use synthetic or anonymised inputs only' is a data-handling constraint, not a use-case directive, and the compute-mode details are operational rather than selection criteria. There is no mention of situations that call for this mapper versus its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_nist_ai_rmf_functionsNIST AI RMF Function MapperCRead-onlyIdempotentInspect
NIST AI RMF Function Mapper: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-175-gpai-code-of-practice-conformance, art-314-traiga-safe-harbor-pack-builder. Open at: https://ainumbers.co/chaingraph/art-174-nist-ai-rmf-function-mapper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent, non-destructive), the description adds meaningful behavioral traits: determinism ('Deterministic'), transient input processing ('not stored, logged, or retained'), a security recommendation ('Use synthetic or anonymised inputs only'), provenance behavior ('Exports an AP2 artifact with execution_hash'), and compute delegation rules for gpu:true nodes. These enrich the agent's understanding far beyond the annotation hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous details such as the URL, FV-status snapshot hash, and output feed identifiers. While some operational details (transient processing) are valuable, the core purpose is buried amid implementation specifics. It is not front-loaded with a crisp functional statement, making it harder for an agent to quickly grasp the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the tool returns. It only mentions exporting an AP2 artifact with execution_hash but never describes the actual mapping output or its structure. It also leaves policy_parameters under-specified (referring to an external manifest). For a compute node with four parameters and no output schema, an agent lacks sufficient information to understand the tool's function and expected result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% coverage, including enum values for compute and descriptions for parent_hashes, parent_tool_ids, and policy_parameters. The description mostly repeats the compute mode behavior already in the schema (e.g., 'auto' default, server vs. browser) without adding new parameter-specific semantics. It meets the baseline but adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'NIST AI RMF Function Mapper: OpenChainGraph compute node (compliance_mandate).' This essentially restates the title without explaining what mapping is performed. It never states what inputs are transformed or what 'NIST AI RMF functions' means in practice, referencing only output feed IDs and operational details. It fails to distinguish itself from the many sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description discusses internal compute mode choices (server vs. browser) but never addresses the broader selection context—when an agent should invoke this mapper over any of the dozens of siblings. There is no mention of conditions or counterpart tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_nmd_behavioral_repricingNMD Behavioral Repricing MapperBRead-onlyIdempotentInspect
NMD Behavioral Repricing Mapper: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-442-nmd-behavioral-repricing-mapper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: inputs are processed transiently and not stored/logged/retained, synthetic inputs are required, it exports an AP2 artifact with execution_hash, and compute modes are clarified (server-side vs browser delegation). This complements the readOnlyHint and idempotentHint without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive ('Deterministic OpenChainGraph compute node' appears twice). It front-loads the compute behavior but then spends several sentences on the FV-status URL and provenance verification, which are useful context but bloat the definition. It could be trimmed to two or three focused sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node, the description covers execution modes, data handling, and output artifact type, which is adequate for calling the tool. However, it lacks any explanation of the actual repricing logic, what the mapping produces, or the semantics of the decision function. Given the absence of an output schema, more specificity about the return format (beyond 'AP2 artifact with execution_hash') would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 only adds a generic reference to 'policy_parameters' as inputs to the decision function, without clarifying field names or structure beyond what the schema already provides. No material added meaning for the other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly identify the tool as a mapper for NMD behavioral repricing, but the description never explicitly states what the tool computes or maps. It repeats 'Deterministic OpenChainGraph compute node' twice but does not explain the decision function or the nature of the repricing output. It is not a tautology, but it fails to precisely articulate the core function beyond the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any alternative. The description explains compute modes and security but does not mention any sibling tools, conditions for selection, or scenarios to avoid. An agent has no information to route to this tool over similar compute/map tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_pil_flavorStory PIL Flavor MapperARead-onlyIdempotentInspect
Story PIL Flavor Mapper: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-197-pil-flavor-mapper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations: it states inputs are processed transiently and not stored/logged/retained, emphasizes determinism, and describes the export of an AP2 artifact with execution_hash. It also explains the computation location (server-side on Cloudflare Workers vs browser delegation). This adds depth to the readOnlyHint and idempotentHint annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and somewhat verbose, with multiple long sentences covering compute modes, privacy, artifact export, URL, and FV-status. It is structured logically (type, compute, privacy, artifact, link, status), but could be tightened without losing meaning. It is not overly redundant, but the length is greater than necessary for the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the absence of an output schema, the description adequately covers what an agent needs: compute modes, privacy guarantees, deterministic behavior, artifact export with execution_hash, and a reference URL and FV-status. It does not describe the return structure in detail, but the mention of the AP2 artifact gives a clear hint. The schema covers all parameters, so the description is fairly complete for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter has a description. The tool description reinforces the compute mode semantics and adds that gpu:true nodes always delegate to the browser, which clarifies the compute parameter beyond the schema. It also directs users to the tool's manifest for policy_parameters field names, which is additional helpful context. The description does not fully explain parent_hashes/parent_tool_ids but the schema does cover them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node with a compliance_mandate, but it does not explicitly state what 'map_pil_flavor' does—what PIL flavor is, what it maps from/to, or the decision function. It focuses on compute modes, privacy, and artifact export rather than the core mapping purpose. It does not distinguish itself from the many sibling map_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on when to use different compute modes (auto/server/browser) and advises using synthetic or anonymised inputs, but it provides no guidance on when to choose this tool over alternatives. It does not name any sibling tools or describe scenarios where map_pil_flavor is the right choice versus other mapping/compute tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_robinhood_chain_regimeFinancial-Instrument Regime MapperCRead-onlyIdempotentInspect
Financial-Instrument Regime Mapper: OpenChainGraph compute node (crypto_regulatory_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-318-rhc-regime-mapper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavior beyond the annotations: inputs are transient and not retained, only synthetic inputs should be used, an AP2 artifact with execution_hash is exported, and gpu:true nodes always delegate to the browser. These are concrete, non-obvious behavioral disclosures, and the description does not contradict the read-only/idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, repetitive ('OpenChainGraph compute node' appears twice), and heavily padded with URLs, FV-status receipt details, and retention declarations. The essential regime-mapping purpose is buried under compute-node jargon, so the structure works against quick agent comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, a nested policy_parameters object, and no output schema, the description is not complete enough to invoke correctly. It never specifies the regime mapping logic, policy_parameters field names, or output artifact contents beyond execution_hash, leaving critical invocation details to an unreferenced external manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the parameters. The description adds some compute-mode context and notes that parent_hashes set chain.parent_hashes in the export, but it does not explain the policy_parameters field names or add material semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase identify a 'Financial-Instrument Regime Mapper', giving a strong domain and a noun-derived verb, but the description never explicitly states what inputs are mapped to which regimes or what the decision function outputs. Instead it focuses on compute-node mechanics, so an agent gets a topic but not a crisp operation statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over alternatives. The only usage-adjacent content is compute-mode behavior ('auto', 'server', 'browser') and the warning to use synthetic inputs, but there is no 'use this when X, not when Y' direction and no sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_tempo_settlementTempo Agentic Checkout Settlement MapperBRead-onlyIdempotentInspect
Tempo Agentic Checkout Settlement Mapper: OpenChainGraph compute node (settlement_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-34-tempo-fit-diagnostic, art-36-tempo-mpp-agent-mandate. Open at: https://ainumbers.co/chaingraph/art-40-tempo-agentic-checkout.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral depth beyond the annotations: it states inputs are transient and not stored/logged/retained, explains compute mode semantics including browser delegation, and mentions the export of an AP2 artifact with execution_hash. This aligns with readOnlyHint and idempotentHint and provides extra context. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous details like a public URL and an FV-status receipt, which are unlikely to help an agent select or invoke the tool. It is not front-loaded with the essential call information and contains multiple digressions, making it less concise than needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must explain what is returned. It only mentions an AP2 artifact with execution_hash but does not describe its structure or content. It also references an external manifest for policy_parameters field names without providing them, leaving the agent with incomplete invocation information for a complex nested-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) are already documented in the schema. The description adds some related context (upstream artifact names) but does not elaborate further on parameter formats or semantics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for 'settlement_mandate', but never explicitly states what the mapping operation does. It mentions consuming upstream artifacts and exporting an AP2 artifact, but the core transformation is left vague. It does not differentiate itself from sibling mapping tools like map_agent_payment_mandate or map_iso20022_to_evm_calldata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete guidance on the compute parameter (auto/server/browser modes) and instructs to use only synthetic or anonymised inputs. However, it does not state when to use this tool versus alternatives, nor under what conditions it should be selected over other mapping or compute tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_confirmationsBank/AR Confirmation MatcherCRead-onlyIdempotentInspect
Bank/AR Confirmation Matcher: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-464-confirmation-matcher.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds substantial context: deterministic execution, server/browser delegation semantics, transient non-retained inputs, AP2 artifact export with execution_hash, and FV-status verification details. This goes well beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loads operational rules, but it repeats 'OpenChainGraph compute node' in consecutive sentences and includes a long FV-status URL/explanation that is tangential to invocation. It is structured but not fully concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the tool returns or what a match result looks like. It only says 'compute the response' and mentions an AP2 artifact, leaving the core domain behavior and result format ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema carries the parameter documentation burden. The description mostly restates compute-mode behavior already present in the schema and adds no meaningful detail for parent_hashes, parent_tool_ids, or policy_parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the title 'Bank/AR Confirmation Matcher' and labels the tool as an 'OpenChainGraph compute node', but it never states an explicit verb or what is actually matched or produced. The focus is on compute modes, provenance, and data handling, not on the matching function itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sibling reconciliation or matching tools. The only usage-related instruction is 'Use synthetic or anonymised inputs only,' which is an operational constraint rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mobilize_margin_collateralMargin Call Collateral MobilizerBRead-onlyIdempotentInspect
Margin Call Collateral Mobilizer: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 505-tokenized-collateral-eligibility-checker. Output feeds: 506-onchain-cash-leg-finality-checker. Open at: https://ainumbers.co/tools/513-margin-call-collateral-mobilizer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the provided readOnly/idempotent annotations, the description discloses determinism, server-side vs browser execution, transient non-retention of inputs, and export of an AP2 artifact with execution_hash. It also adds the synthetic-input safety requirement and chain provenance, giving an agent a full behavioral model without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, but it redundantly says 'OpenChainGraph compute node' twice and ends with a lengthy FV-status receipt footnote. The critical behavioral info is present; the structure could be tighter and the purpose more front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It supplies strong chaining context (505 upstream, 506 downstream), execution modes, privacy guarantees, and artifact output, which is good for a compute node with no output schema. However, it leaves policy_parameters to an external manifest and does not describe the returned artifact's shape beyond execution_hash, so a caller still lacks a complete invocation picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters. The description adds useful high-level context for compute modes and parent hashes (upstream 505), but it does not materially explain policy_parameters fields or the relationship between parent_hashes and parent_tool_ids beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for a 'collateral_mandate' and places it between 505 and 506, but never states in plain terms what it actually computes or what 'mobilizing' margin collateral produces. An agent can infer the domain from the title and chain links, but the core function 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage conditions: compute mode selection (auto/server/browser, gpu:true always delegates) and the explicit instruction to use synthetic or anonymised inputs only. It does not, however, say when this tool should be chosen over related sibling tools or what prerequisites must hold beyond the chaining hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_agent_service_meteringAgent-Service Metering & Marketplace Economics ModelerCRead-onlyIdempotentInspect
Agent-Service Metering & Marketplace Economics Modeler: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-60-agent-economy-runtime-fit-diagnostic. Output feeds: art-03-x402-settlement-modeler, ml-03-timeseries-anomaly-detector. Open at: https://ainumbers.co/chaingraph/art-63-agent-service-metering-modeler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by stating that inputs are 'processed transiently... not stored, logged, or retained' and that it 'Exports an AP2 artifact with execution_hash for chain provenance.' It also explains compute-mode behaviors such as browser delegation for gpu:true nodes, which are not covered by the readOnly/idempotent hints. These details provide meaningful insight into the tool's side effects and execution semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive—'OpenChainGraph compute node' appears twice, and the compute-mode rules are restated nearly verbatim from the schema. It also includes URLs and hashes that clutter the text without contributing to comprehension. The structure reads like a template dump rather than a focused, well-organized summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions artifacts, provenance, and compute modes but never explains what the tool's actual metering/economics computation does or what the output artifact represents beyond an execution hash. It refers to a 'manifest' for policy parameter fields but does not summarize the decision function. For a modeling tool with nested parameters, this leaves the user without a clear picture of inputs and outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters, including the compute enum's default behavior and the purpose of parent_hashes and parent_tool_ids. The description repeats the compute-mode logic without adding new parameter information, and its only extra note ('Use synthetic or anonymised inputs only') is a global constraint rather than per-parameter clarification. Thus it does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title mentions 'Agent-Service Metering & Marketplace Economics Modeler' but the description immediately pivots to 'OpenChainGraph compute node' and technical details about compute modes and artifacts. It never explicitly states what the tool computes or models, leaving the core purpose vague and reliant on jargon rather than a clear functional statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives. The description references upstream and downstream artifacts but does not explain scenarios that would call for this specific tool versus siblings like 'model_agent_economy_fit' or 'run_agent_economy_fit'. There is no 'use this when' statement or comparison to related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_arc_cpn_economicsArc CPN Corridor Economics ModelARead-onlyIdempotentInspect
Arc CPN Corridor Economics Model: OpenChainGraph compute node (treasury_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-42-arc-fit-diagnostic. Open at: https://ainumbers.co/chaingraph/art-43-arc-cpn-model.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent hints by disclosing transient processing (inputs not stored, logged, or retained), deterministic execution, browser delegation for gpu:true nodes, AP2 artifact export with execution_hash, and offline-verifiable FV-status. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and repetitive — 'OpenChainGraph compute node' appears twice — and buries key operational facts amid provenance and FV-status details. It earns its place overall but would benefit from tighter, front-loaded sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, no-output-schema tool, it covers compute execution, privacy, provenance, upstream dependencies, and a link to the model page. The main gap is that policy_parameters field names are left to a manifest, so an agent may not know what inputs to supply without leaving the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 largely restates the compute-mode semantics already present in the schema and adds no details on policy_parameters field names (pointing instead to the manifest). The transient-input note is behavioral rather than parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States it is a Deterministic OpenChainGraph compute node for the Arc CPN Corridor Economics Model with a treasury_mandate role, and the upstream artifact art-42-arc-fit-diagnostic helps distinguish it from other model_* siblings. However, it never explains what corridor economics actually computes, so the operational purpose remains somewhat opaque beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear invocation context: compute modes (auto/server/browser), the prerequisite upstream artifact, and the instruction to use synthetic or anonymised inputs only. It does not name alternatives or state when-not-to-use, leaving sibling selection to inference from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_arc_paymaster_economicsArc Paymaster Economics ModelARead-onlyIdempotentInspect
Arc Paymaster Economics Model: OpenChainGraph compute node (treasury_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-42-arc-fit-diagnostic. Open at: https://ainumbers.co/chaingraph/art-46-arc-paymaster-model.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds meaningful beyond-annotation context: inputs are transiently processed and not stored/logged/retained, the computation is deterministic, it exports an AP2 artifact with execution_hash for provenance, and it explains compute mode delegation (server vs browser). This materially improves agent understanding of side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: it opens with the core purpose, then explains compute behavior, privacy, artifact export, upstream dependency, URL, and FV-status. Each sentence adds distinct information, and the most critical operational details (compute modes, privacy) are front-loaded. It is a bit long but avoids fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 optional params, compute modes, artifact export, upstream chain dependency), the description covers most operational aspects: compute delegation, transient data handling, artifact provenance, upstream artifact ID, and verification URL. It does not describe the output format (no output schema) or the contents of policy_parameters beyond a manifest reference, which is a notable gap for an agent needing to construct a correct request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) are already documented. The description adds little beyond the schema: it repeats the compute mode logic and mentions that policy_parameters are for the decision function, but it points to an external manifest for field names rather than explaining them inline. Given full schema coverage, baseline 3 is appropriate; it doesn't compensate for the external manifest gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an OpenChainGraph compute node for the 'Arc Paymaster Economics Model' with a 'treasury_mandate', using a specific verb-resource pair. It distinguishes itself from generic compute tools by naming the specific domain (paymaster economics) and the node type (treasury_mandate). However, it doesn't explicitly contrast with sibling models like model_arc_cpn_economics or model_arc_stablefx_rfq, so it's not perfectly differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational constraints ('Use synthetic or anonymised inputs only') and clarifies when compute:'browser' or server-side execution applies, but it doesn't tell an agent when to choose this tool over alternatives. No mention of specific use cases, prerequisites, or exclusions relative to sibling tools. The guidance is mostly about how to invoke rather than when to select.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_arc_stablefx_rfqArc StableFX RFQ Economics ModelARead-onlyIdempotentInspect
Arc StableFX RFQ Economics Model: OpenChainGraph compute node (treasury_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-42-arc-fit-diagnostic. Open at: https://ainumbers.co/chaingraph/art-44-arc-stablefx-model.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description adds genuinely valuable beyond-annotation context: inputs are processed transiently and are not stored, logged, or retained; execution exports an AP2 artifact with execution_hash for chain provenance; it consumes upstream artifacts from a specific artifact; and the FV-status receipt is explicitly a snapshot, not a subscription. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is heavily front-loaded with operational detail and is generally organized, but it repeats 'OpenChainGraph compute node' and 'deterministic' across the opening sentences. Several long clauses about FV-status, URLs, and receipt verification could be trimmed or structured more tightly without losing essential meaning. It is not bloated to the point of confusion, but every sentence does not quite earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is strong on privacy, compute mode selection, and provenance, and it usefully points to an online artifact URL. However, there is no output schema and the description never states what result the agent should expect beyond 'exports a AP2 artifact with execution_hash'; the actual economics output, success semantics, or way to interpret the response remain unspecified. That is a significant gap for an agent deciding whether a call succeeded and how to use its returned artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% coverage, so the baseline is 3. The description adds some useful context, such as the role of parent_hashes in forming chain provenance and the privacy constraint to use synthetic/anonymised inputs. However, it does not compensate for the biggest parameter gap: policy_parameters has no concrete field names, and the description only points to 'the tool's manifest' without saying what fields are expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node' for 'Arc StableFX RFQ Economics', and adds that it is deterministic, but never states in concrete terms what RFQ economics it computes or what decision the 'decision function' produces. Sibling differentiation is absent: an agent cannot tell from the description why model_arc_stablefx_rfq is preferable to sibling economics-model tools like model_arc_cpn_economics or model_stablecoin_corridor_economics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context: the compute:auto default runs server-side on Cloudflare Workers, compute:"browser" forces a delegation URL, gpu:true nodes always delegate, and inputs should be synthetic or anonymised. It does not explicitly state when to choose this tool over sibling alternatives, so it misses the top tier, but the invocation and data-handling guidance is specific and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_buy_in_exposureBuy-In Exposure ModelerARead-onlyIdempotentInspect
Buy-In Exposure Modeler: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-78-csdr-penalty-calculator. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-83-buy-in-exposure-modeler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses determinism, transient processing with no storage/logging/retention, client-side delegation behavior, AP2 artifact export with execution_hash, and FV-status snapshot semantics. This is substantial behavioral context with no contradiction against 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and covers important compute, privacy, and provenance facts, but it repeats 'OpenChainGraph compute node' in consecutive sentences and appends an HTML 'Open at' URL plus a lengthy FV-status receipt explanation that are not needed for MCP invocation. It is structured and front-loaded, yet not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations and schema, the description covers compute modes, data handling, upstream/downstream chain artifacts, and the output shape as an AP2 artifact with execution_hash. It does not specify the exact response format (no output schema) or the policy_parameters fields, which are deferred to a manifest, so a small but important gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes all four parameters, including the compute enum behavior and parent_hashes/parent_tool_ids pairing. The description mostly restates compute-mode behavior and does not add meaningful field-level semantics 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Buy-In Exposure Modeler' and a 'Deterministic OpenChainGraph compute node', so it names a domain and resource type. However, it never states what computation is actually performed on policy_parameters or what 'buy-in exposure' means, leaving the core action implicit. It is not a pure tautology, but it does not give a specific verb-plus-resource definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage context: compute-mode selection rules (auto/server/browser, gpu:true always delegates) and an explicit instruction to use synthetic or anonymised inputs only. It does not name sibling alternatives or provide when-not-to-use exclusions, so it falls just 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.
model_cbam_certificate_costCBAM Certificate Cost & Free-Allocation EngineARead-onlyIdempotentInspect
CBAM Certificate Cost & Free-Allocation Engine: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-69-cbam-embedded-emissions-calculator. Output feeds: cry-05-agent-action-audit-trail-aggregator, art-76-climate-scenario-applicator. Open at: https://ainumbers.co/chaingraph/art-71-cbam-certificate-cost-engine.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond the annotations by disclosing deterministic execution, browser delegation behavior, transient non-retained inputs, AP2 artifact export with execution_hash, and FV-status verification. These details explain side effects and verification routes that neither readOnlyHint nor idempotentHint convey. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, dense paragraph with redundancy: 'OpenChainGraph compute node' appears twice near the start. It front-loads the title but then mixes execution details, data handling, provenance, URLs, and FV-status without structural separation. While most content is informative, the repetition and lack of organization make it less concise than it should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description covers execution modes, transient data handling, artifact export, chain provenance, upstream/downstream relationships, and a verification URL/hash. The main gap is that policy_parameters field names are not enumerated outside a manifest pointer, but no parameters are required and the schema itself points to the manifest. This is largely complete for selection and basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies even without additional field-level detail in the description. The description restates compute-mode semantics already present in the schema but adds no new parameter meaning. The policy_parameters field remains a manifest pointer in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly identify the resource and objective: CBAM certificate cost and free-allocation computation. The description reinforces this with 'OpenChainGraph compute node' and 'Deterministic', making it clear this is a computation engine rather than a data retrieval tool. It does not explicitly distinguish itself from related siblings like calculate_cbam_embedded_emissions, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational constraints — synthetic inputs only, compute-mode selection, upstream/downstream artifact relationships — but no explicit guidance on when to choose this tool over alternatives or when it should not be used. There is no sibling comparison or exclusion criterion. Usage context is only implicit through the chain provenance statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_clearing_access_economicsClearing Access Model SelectorARead-onlyIdempotentInspect
Clearing Access Model Selector: OpenChainGraph compute node (treasury_mandate). Regulatory deadline: 2026-12-31 (flagship access-model decision (W-A).). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-48-treasury-clearing-fit-diagnostic. Output feeds: 504-settlement-risk-capital-optimizer, art-50-ficc-margin-netting-estimator. Open at: https://ainumbers.co/chaingraph/art-49-clearing-access-model-selector.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds substantial behavioral context beyond these flags: inputs are processed transiently and not stored/logged/retained, the tool exports an AP2 artifact with execution_hash, consumes specific upstream artifacts, and has a stated regulatory deadline and FV-status snapshot. This is rich behavioral disclosure that helps an agent understand side effects, data handling, and provenance. No contradiction with annotations is apparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long and dense, loading the agent with regulatory names, deadlines, hashes, URLs, and provenance details. Many details (e.g., FV-status hash URL, exact wording 'flagship access-model decision (W-A).') appear tangential to selecting and invoking the tool. It is not front-loaded with the most critical operational information; instead, it intermixes compute behavior with chain metadata. This harms readability and agent parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity—a decision-model selector with compute modes, provenance chaining, and multiple parameters—the description covers many aspects: compute modes, data handling, artifact export, upstream/downstream links, and required input guidance ('Use synthetic or anonymised inputs only'). However, it lacks explicit documentation of return values or output format (there is no output schema), and the policy_parameters field is deferred to a 'manifest.' The description is thorough but not complete enough to fully predict behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds value by explaining the default 'auto' compute behavior, what 'browser' returns (a delegation URL), and that gpu:true nodes always delegate. It clarifies the policy_parameters field references 'the tool's manifest for field names,' which is useful context beyond the schema. The description goes beyond restating schema fields and provides execution semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Clearing Access Model Selector' and description communicate that this is a compute node for a clearing access model decision, tied to a treasury mandate and a regulatory deadline. It is more specific and identifiable than the overly generic tool names like 'process'. However, the description is dense with technical jargon and metadata that could obscure the core purpose, and the name is not as crystal-clear as examples like 'get_calls'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes ('auto', 'server', 'browser') and states that 'gpu:true nodes always delegate to the browser.' It also instructs to use 'synthetic or anonymised inputs only.' However, it does not explicitly state when to choose this tool over alternatives. Among siblings, there are tools like 'run_treasury_clearing_fit' and various model-related tools, but no direct comparison or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_l1_fee_runwayL1 Continuous-Fee Runway ModelARead-onlyIdempotentInspect
L1 Continuous-Fee Runway Model: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-496-l1-continuous-fee-runway.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: inputs are transient and not stored/logged/retained, compute modes affect execution location, and it exports an AP2 artifact with execution_hash. It also mentions the FV-status receipt is a snapshot, not a subscription. This goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the model name and compliance mandate, but it packs a lot of implementation detail (Cloudflare Workers, AP2 artifact, FV-status URL) into a single paragraph. It's not poorly structured, but it could be more scannable. The FV-status receipt explanation is somewhat tangential to calling the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description covers the key operational aspects: compute modes, transient processing, provenance export, and the FV-status verification. It doesn't explain what the 'L1 Continuous-Fee Runway Model' actually computes, but that may be domain knowledge. The policy_parameters field names are deferred to the manifest, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some context about compute modes and policy_parameters being computed server-side, but it doesn't add much beyond the schema. The policy_parameters field is described as 'See the tool's manifest for field names', which is a gap but the schema already says it's an object with additionalProperties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it is a deterministic OpenChainGraph compute node for the L1 Continuous-Fee Runway Model, with a compliance mandate. It distinguishes itself from siblings by being a compute node that exports an AP2 artifact with execution_hash for chain provenance. However, it doesn't explicitly name a sibling it is not, and the purpose is somewhat buried under implementation details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly explains when to use compute:"auto" vs "browser" vs "server", and notes that gpu:true nodes always delegate to the browser. It also states inputs are processed transiently and not stored, and that only synthetic or anonymised inputs should be used. It doesn't explicitly contrast with sibling tools, but the compute-mode guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_perp_positionPerp Position LifecycleBRead-onlyIdempotentInspect
Perp Position Lifecycle: OpenChainGraph compute node (derivatives_margin_health). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-213-perp-liquidation-calculator. Open at: https://ainumbers.co/chaingraph/art-214-perp-position-lifecycle.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: it explains that inputs are processed transiently and not stored, logged, or retained, and explicitly advises 'Use synthetic or anonymised inputs only'. It also details compute modes (auto/browser) and that gpu:true nodes always delegate. These traits are not covered by the readOnlyHint/idempotentHint annotations, and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense block with many details, including URL and FV-status links that are tangential to invoking the tool. It is not front-loaded with the core purpose; instead it mixes compute-mode explanations, transient-processing warnings, and artifact specifics in a run-on style. Could be significantly more concise and better structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what the tool returns, but it only mentions 'Exports an AP2 artifact with execution_hash for chain provenance' without describing the artifact's content (e.g., position metrics). It also omits how to construct policy_parameters beyond a schema pointer. The upstream dependency is noted, but critical usage details are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — every parameter has a description in the schema (compute, parent_hashes, parent_tool_ids, policy_parameters). The description adds little about parameters; the only relevant note ('See the tool's manifest for field names') is already in the schema. Thus it meets the baseline for high coverage without adding extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is an 'OpenChainGraph compute node (derivatives_margin_health)' and references 'Perp Position Lifecycle', making clear it computes perp position data related to margin health. However, it doesn't explicitly describe the output or how it differs from siblings like compute_perp_margin or compute_perp_funding, so the purpose is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description focuses on compute modes and artifact handling but does not mention any sibling tools or conditions for selection. An agent would have no basis to choose this over compute_perp_margin or other perp-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_stablecoin_corridor_economicsStablecoin Corridor Economics ModelCRead-onlyIdempotentInspect
Stablecoin Corridor Economics Model: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-249-compare-corridor-cost. Open at: https://ainumbers.co/chaingraph/art-250-model-stablecoin-corridor-economics.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses some operational behaviors (compute modes, transient processing, no storage, export of AP2 artifact), but these are generic boilerplate. It does not explain side effects beyond what annotations (readOnlyHint, idempotentHint) already imply, nor does it elaborate on the export implications or the meaning of 'policy_parameters' for this specific model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with phrases like 'Deterministic OpenChainGraph compute node' and 'Inputs are processed transiently...' appearing twice. The long provenance and hash strings add noise without clarifying the tool's purpose. It would be more concise if focused on the model's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the generic compute context is covered, the description lacks crucial domain details: what stablecoin corridor economics are being modeled, what outputs the artifact contains, and how policy_parameters influence the model. Without these, the description is incomplete for an agent deciding to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides detailed descriptions for each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters), achieving 100% coverage. The tool description adds no additional parameter-level semantics beyond the schema, which is acceptable per baseline. However, it does not clarify the domain-specific meaning of policy_parameters for this model.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Stablecoin Corridor Economics Model' and an 'OpenChainGraph compute node', but does not explain what the model actually computes or its domain-specific behavior. The bulk of the text covers execution details (compute modes, GPU, privacy) rather than the tool's core function, leaving the purpose ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus any alternatives. There is no mention of specific use cases, prerequisites, or conditions that would make this tool preferable to other compute nodes (e.g., compare_corridor_cost or model_arc_stablefx_rfq). The usage context is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_tempo_gas_economicsTempo Fee-Sponsorship & Gas-AMM EconomicsARead-onlyIdempotentInspect
Tempo Fee-Sponsorship & Gas-AMM Economics: OpenChainGraph compute node (treasury_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-35-tempo-payments-business-case. Open at: https://ainumbers.co/chaingraph/art-107-tempo-gas-economics.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description exceeds the annotations massively: it discloses deterministic execution, transient processing (inputs not stored/logged/retained), privacy constraints (synthetic/anonymised inputs only), CF Workers server-side vs browser delegation behavior, AP2 artifact export with execution_hash for provenance, upstream artifact consumption, and an offline-verifiable FV-status snapshot. All of this is genuinely actionable context beyond the declared readOnly/idempotent/non-destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences restate the same deterministic compute-node idea and the compute-mode explanation largely duplicates the input-schema descriptions of the compute parameter. This bloats the middle. The trailing FV-status/link and the artifact URL earn their place for provenance and trust-building but the final tail is dense. Front-loading is acceptable; there is roughly one paragraph of redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 params, nested policy_parameters, no output schema, and complex runtime behavior, the description handles most operational concerns well: execution modes, data retention, input hygiene, chaining via parent hashes, and artifact provenance. The primary gaps are that it never explains what the fee-sponsorship/gas-AMM decision function actually outputs, and policy_parameters fields are left as an unresolved pointer to a manifest — a real but contained hole.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter already has a verbose description, so the bar is baseline 3. The description adds marginal, contextual value — e.g., revealing which upstream artifact to use (art-35-tempo-payments-business-case) and restating the compute-mode gpu rules — but it does not add policy_parameters field names and merely forwards the request to 'the tool's manifest'. It adds some meaning but does not compensate for the policy-parameters gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource and type of computation: 'Tempo Fee-Sponsorship & Gas-AMM Economics' as a deterministic OpenChainGraph compute node. It does not, however, say exactly what economic output the tool produces, and it does not distinguish itself from nearby sibling models like model_tempo_payment_economics or compute_tempo_mainnet_fee_capacity. The purpose is clear at the topic level but blurred by a description heavy on infrastructure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides mode-selection guidance (compute:"auto" vs server vs browser, browser delegation for gpu:true) and a hard input constraint ('Use synthetic or anonymised inputs only'). It also implies a chaining workflow by naming the upstream artifact art-35-tempo-payments-business-case. However, it never states what alternative tools to use instead, nor provides when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_tempo_payment_economicsTempo Payments Business CaseARead-onlyIdempotentInspect
Tempo Payments Business Case: OpenChainGraph compute node (treasury_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-34-tempo-fit-diagnostic. Output feeds: art-37-tempo-stablecoin-issuance, art-36-tempo-mpp-agent-mandate. Open at: https://ainumbers.co/chaingraph/art-35-tempo-payments-business-case.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially enriches the annotations: it discloses determinism, server-side vs. browser delegation behavior, transient non-retention of inputs, a synthetic-data requirement, AP2 artifact export, and the FV-status snapshot semantics. It goes far beyond the readOnly/idempotent hints and contains 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and long, but every sentence adds operational value: compute mode behavior, data retention, provenance, artifact flow, and verification pointers. It is front-loaded with the core identity and follows a logical sequence, though it could be tightened with structural separators.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex compute node with no output schema, the description is unusually complete: it covers execution modes, privacy/retention, required input handling, upstream dependencies, downstream consumers, artifact provenance, and a verification endpoint. An agent has enough context to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the structured schema already documents all four parameters. The description adds context about compute modes and delegation, but that context largely mirrors the schema's own parameter descriptions rather than adding new semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node and states that it exports an AP2 artifact with execution_hash for chain provenance. It also names upstream and downstream artifacts, making the role concrete. It stops short of a crisp one-line 'computes X' statement, so it is clear but relies on the artifact graph for full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for use — inputs are transient, synthetic or anonymised inputs should be used, compute modes are explained, and the artifact chain positions the tool in a pipeline. However, it does not explicitly state when to prefer this tool over alternatives or name any sibling exclusions, so usage guidance 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.
model_x402_settlementx402 Settlement Cost & Finality ModelerARead-onlyIdempotentInspect
x402 Settlement Cost & Finality Modeler: OpenChainGraph compute node (settlement_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-01-ap2-mandate-chain-validator. Output feeds: cry-04-merkle-batch-verifier, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-03-x402-settlement-modeler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| finality_sec | No | |
| eligible_rails | No | |
| per_tx_fee_usd | No | |
| monthly_cost_usd | No | |
| recommended_rail | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark the tool as read-only, non-destructive, and idempotent, and the description adds meaningful context beyond that: inputs are processed transiently and are not stored, logged, or retained; compute behavior depends on gpu flags; and the FV-status receipt is a static snapshot that verifies offline. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but logically ordered: purpose, compute behavior, privacy posture, data-flow artifacts, and reference links. It loses a point for repetition of the 'Deterministic OpenChainGraph compute node' phrase and for a somewhat lengthy FV-status/provenance tail that could be trimmed without losing essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema, the presence of an output schema, and the annotations, the description is nearly complete: it explains compute modes, transient-input semantics, synthetic-data requirements, upstream/downstream artifacts, and trust verification. The one notable gap is that the actual contents of policy_parameters depend on an external manifest that is neither shown nor described, so a fully autonomous agent would need to resolve that external resource before invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all parameters (compute, parent_hashes, parent_tool_ids, policy_parameters), so the baseline is 3. The description adds extra value by naming the specific upstream artifact (art-01-ap2-mandate-chain-validator) an agent can use to populate parent_hashes/parent_tool_ids, and by confirming the compute-mode/gpu mapping. However, policy_parameters is still deferred to an external manifest, which is a residual ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it is a deterministic compute node that models x402 settlement cost and finality and exports an AP2 artifact with an execution_hash. This is precise enough to tell it apart from the many validate/simulate/reconcile siblings, but it never names an alternative tool and repeats the 'Deterministic OpenChainGraph compute node' phrase without adding differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete invocation guidance: compute:'auto' runs server-side, compute:'browser' forces client-side and returns a browser delegation URL, and gpu:true nodes always delegate to the browser. It also instructs the caller to use synthetic or anonymised inputs only. What is missing is an explicit statement of when to choose this tool over a sibling simulator, simulator, or settlement validator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_settlement_capitalSettlement-Risk Capital Efficiency OptimizerARead-onlyIdempotentInspect
Settlement-Risk Capital Efficiency Optimizer: OpenChainGraph compute node (capital_assessment). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 503-canton-tokenization-readiness-diagnostic. Open at: https://ainumbers.co/tools/504-settlement-risk-capital-optimizer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering readOnly=true, idempotent=true, and destructive=false, the description correctly aligns with these safety hints — no contradiction. The description adds valuable behavioral context: inputs are 'processed transiently and not stored, logged, or retained', it exports an 'AP2 artifact with execution_hash', and provides an FV-status verification URL explaining the offline verification mechanism. The deterministic nature is highlighted, adding substance beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense with jargon and operational details. It front-loads the purpose but then includes a huge amount of implementation-specific information (Cloudflare Workers, FV-status URLs, execution_hash chains) that may overwhelm an agent. While thorough, the structural density — a single uninterrupted paragraph with many technical terms — hurts readability and conciseness. Key operational details like compute modes are buried, and the URL for the browser tool is functional but adds noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4-parameter schema with 100% coverage, no output schema, and annotations covering safety, the description is largely complete. It clearly explains compute modes, upstream dependencies (503-node), data handling (transient), and chain provenance (execution_hash). The weakness is missing explicit return-value description: it says 'Exports an AP2 artifact' but doesn't specify what the agent receives as the tool response, which becomes important without an output schema. The FV-status receipt explanation is a plus for verifiability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema provides detailed descriptions for each property including 'compute' enums and parent_hashes/parent_tool_ids semantics. The description adds value by contextualizing that policy_parameters are 'inputs for this tool's decision function' and how compute mode binds to server/browser execution, which the schema already covers. The description reinforces but doesn't significantly expand on parameters, hence a 4 — it complements the schema meaningfully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's specific verb and resource: 'Optimize settlement-risk capital efficiency' with a named compute node 'capital_assessment'. It distinguishes itself from the hundreds of sibling tools by identifying it as an OpenChainGraph compute node for capital efficiency optimization. However, it doesn't explicitly contrast against siblings like 'estimate_cross_margin_benefit' or 'compute_rwa_scenarios' that perform related but distinct optimization/computation tasks, so it doesn't fully differentiate within its domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational context (compute modes, GPU behavior, browser delegation), but doesn't explicitly state when to use this tool vs alternatives. It mentions consuming upstream artifacts from '503-canton-tokenization-readiness-diagnostic', which gives a hint about the workflow chain, but there's no explicit when/when-not guidance. For a decision function tool, it should clarify prerequisites like when policy_parameters are needed, which is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_social_security_claim_ageSocial Security Claiming-Age OptimizerBRead-onlyIdempotentInspect
Social Security Claiming-Age Optimizer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-283-pension-lump-sum-vs-annuity-decision-engine. Open at: https://ainumbers.co/chaingraph/art-282-social-security-claiming-optimizer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially exceeds the annotations by describing deterministic behavior, 'auto' server-side vs forced browser execution (and returning a browser delegation URL), transient input processing with no retention, APFet artifact generation, and the 'snapshot, not a subscription' semantics of the FV-status link. This all adds meaningful context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and repetitious, repeating the tool title, OpenChainGraph, 'compute node', and the basic compute-delegation rule multiple times. The first sentence is essentially a tautology of the title, and the critical functional explanation gets buried under infrastructure and provenance trivia.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description does not adequately describe what the user actually receives when a policy_parameters set is executed, e.g., what claiming-age recommendation or valuation is returned. It does cover compute routing, provenance, the output feed, and verification receipts, but the core output behavior is undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description doesn't need to re-document parameters, but it does add context for 'compute' that 'auto' (server) and 'browser' behaviors. The main gap is that 'policy_parameters' is deferred to 'the toolas manifest'—nowhere in the schema or description specifies that the agent can call the tool meaningfully without that manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by repeating the tool title and labels it an 'OpenChainGraph compute node', but never states what the optimizer actually does, what inputs the user needs, or what result is returned. The mention of an output feeding 'art-283' hints at a place in a decision chain but the core domain function (deciding Social Security claiming age) is not described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear operational constraints ('Use synthetic or anonymised inputs only') and compute-routing decision rules for 'auto', 'server', and 'browser', including a gpu:true exception. It does not, however, say when to choose this tool over alternative tools, which is a significant omission in the context of the very large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oracle_price_aggregationOracle Price AggregationARead-onlyIdempotentInspect
Oracle Price Aggregation: OpenChainGraph compute node (oracle_price_aggregation). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-561-currency-basket-index. Open at: https://ainumbers.co/chaingraph/art-560-oracle-price-aggregation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| epoch | No | |
| fence | No | |
| not_proven | No | |
| currency_pair | No | |
| max_submitted | No | |
| min_submitted | No | |
| outlier_count | No | |
| chain_position | No | |
| outlier_detail | No | |
| fault_tolerance | No | |
| prev_print_hash | No | |
| rejected_inputs | No | |
| surviving_count | No | |
| aggregated_price | No | |
| outliers_flagged | No | |
| price_spread_pct | No | |
| structural_error | No | |
| submission_count | No | |
| stale_submissions | No | |
| aggregation_method | No | |
| aggregate_confidence | No | |
| outlier_threshold_pct | No | |
| priced_submission_count | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds meaningful context beyond annotations: transient processing (inputs not stored/logged/retained), browser delegation behavior, FV-status verification mechanism, and the output feed (art-561-currency-basket-index). This builds on the annotation baseline rather than contradicting it, and enriches the agent's understanding of the tool's guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense with technical detail and front-loads the core purpose: 'Deterministic OpenChainGraph compute node.' It covers compute modes, transient processing, output feeds, and FV-status verification. However, it's quite long (exceeds several sentences) and includes technical links (URLs, FV-status paths) that may not be essential for tool invocation—this is more dense reference material than concise guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params including a nested `policy_parameters` object) and output schema presence, the description is largely complete. It explains the compute binding contract, processing semantics, output artifact (AP2 with execution_hash), and even points to a FV-status JSON for provenance verification. The main gap is that `policy_parameters` field names aren't listed (only referenced to a manifest), but the output schema and overall context make invocation feasible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters including `policy_parameters` with a description. The description adds context on top by explaining the compute binding behavior (compute:"auto" server-side, "browser" returns delegation URL) and clarifying that `parent_hashes` chains from upstream AP2 artifacts. However, `policy_parameters` field names are still deferred to the manifest, which the description mentions but doesn't elaborate on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's an OpenChainGraph compute node for oracle price aggregation, with a specific resource (oracle_price_aggregation) and verb (aggregate/compute). It explains the compute modes and processing semantics. However, it doesn't explicitly name sibling tools like `derive_parametric_index_from_receipts` or `currency_basket_index` that might be alternatives for similar aggregation tasks, so it doesn't fully distinguish from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use compute:'auto', 'browser', and 'gpu:true' delegation paths, and notes that inputs should be synthetic/anonymized. It doesn't explicitly exclude alternatives (like using currency_basket_index for basket construction), but provides clear context about the server vs. browser execution scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
otlp_span_receiptGenerate or verify a per-span OTel receipt bundle over an OTLP/JSON traceAInspect
OTLP span/trace to receipt bundle; does NOT build a ChainGraph (use build_chaingraph for that). Three modes, chosen by which input is supplied. (1) Pass trace alone to GENERATE a receipt bundle: a per-span receipt (span digest, parent-span receipt digest, semconv_snapshot, eddsa-jcs-2022 signature over an ephemeral did:key) for every span, plus a Merkle-rooted (RFC 6962) trace receipt. (2) Pass bundle ({trace, span_receipts, trace_receipt, issuer_did}) to VERIFY it: recomputes every digest, walks the parent-receipt chain, rebuilds the Merkle root, and reports which spans are attested, unattested, or tampered. (3) Pass run_chain_result (the structuredContent from run_chain) instead of trace to bridge a ChainGraph chain run into an OTLP trace first -- one execute_tool span per successfully-executed step, each carrying its own execution_hash as a span attribute (ocg.execution_hash) -- then generates the same receipt bundle over it. Byte-identical receipt engine to tools/566-otel-span-receipt-verifier.html -- a human's browser-generated bundle and this tool's output interoperate on the exact same wire shape.
| Name | Required | Description | Default |
|---|---|---|---|
| trace | No | An OTLP/JSON trace document to generate a receipt bundle over. Omit if passing bundle or run_chain_result. | |
| bundle | No | {trace, span_receipts[], trace_receipt, issuer_did} to VERIFY instead of generate. | |
| service | No | resource service.name to stamp when bridging run_chain_result into a trace. Defaults to "ainumbers-chaingraph-worker". | |
| run_chain_result | No | The structuredContent object returned by run_chain (must include chain and steps[]) -- bridges the chain run into an OTLP trace, then generates a receipt bundle over it. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
All annotation hints are false, so the description carries the full transparency burden. It comprehensively explains the receipt contents, digest computation, parent-chain traversal, Merkle root rebuild, attestation/tampering reporting, and trace-bridge semantics, plus the interoperable wire format with the external browser verifier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but organized: a one-line grounding assertion, a numbered three-mode breakdown, and a closing interoperability note. Every sentence contributes behavior, constraints, or invocation guidance, and it is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must compensate by explaining return shapes and behavior. It covers the receipt bundle, the verification reporting options (attested/unattested/tampered), the bridge attribute name, and the exact default service value, making the tool fully call-safe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although all params are already described in the schema, the prose adds meaning beyond property descriptions: it defines the mode selection rule, requires run_chain_result to include chain and steps[], specifies the bundle verification fields, and declares the service default. This makes parameter usage actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb-resource mapping ('OTLP span/trace to receipt bundle') and explicitly names the exact verbs: generate, verify, and bridge. It also disambiguates from the sibling tool by saying 'does NOT build a ChainGraph (use build_chaingraph for that)'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear when-to-use guidance for all three modes: pass trace to generate, pass bundle to verify, and pass run_chain_result to bridge. It also names build_chaingraph as the explicit alternative when a ChainGraph is what the caller actually needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
otlp_validateValidate an OTLP/JSON trace for structure + gen_ai conformanceARead-onlyIdempotentInspect
Structurally validates an OTLP/JSON trace (resourceSpans -> scopeSpans -> spans: hex traceId/spanId shape, quoted nanosecond timestamps, parent-span references, time ordering) and checks every gen_ai span's attributes against a pinned gen_ai semantic-convention attribute snapshot (the upstream open-telemetry/semantic-conventions-genai namespace ships zero tagged releases, so this is a dated pin, stamped as semconv_snapshot in the result -- expect it to drift as the upstream spec moves). Byte-identical lint engine to tools/556-otlp-genai-span-composer-linter.html.
| Name | Required | Description | Default |
|---|---|---|---|
| trace | Yes | An OTLP/JSON trace document: { resourceSpans: [{ scopeSpans: [{ spans: [...] }] }] }. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds important behavioral context: it performs static structural validation against a pinned (dated) semantic convention snapshot, acknowledges potential drift, and notes it's byte-identical to a lint engine. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences but densely packed with relevant technical details. Every clause adds value, and the information is logically ordered from general purpose to specific checks to annotations about the semantic convention snapshot. No extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validation tool with no output schema, the description covers the input structure, the scope of validation, and a key caveat about the semantic convention snapshot. It mentions a result stamp but does not detail the output format. However, given the tool's straightforward nature, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'trace' parameter has 100% schema coverage. The description adds specific structural expectations (resourceSpans, scopeSpans, spans, hex IDs, timestamps) that go beyond the schema's basic description, providing the agent with concrete formatting requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state the tool validates OTLP/JSON traces for structure and gen_AI conformance, listing specific checks like hex IDs, timestamps, and parent-span references. This distinguishes it from sibling tools that validate other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly provide guidance on when to use this tool versus alternatives. It mentions a reference to another tool but lacks direct context on exclusions or when-not to use. The usage is implied by the tool's purpose but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pain001_validateValidate a pain.001.001.09 message against the schema-subset tableARead-onlyIdempotentInspect
Validates a pain.001.001.09 customer credit transfer initiation XML document against the same hand-derived schema-subset table as the tools/555 browser validator -- structural (mandatory fields), facet (IBAN mod-97, BIC format, ISO 4217 currency, decimal/date patterns), and batch-total cross-checks (NbOfTxs vs. actual transaction count, CtrlSum vs. sum of InstdAmt). Byte-identical error set to the browser tool for the same input. Subset validation, not full XSD conformance -- prepare/validate only, never transmits or generates a live payment message.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes | pain.001.001.09 XML document text to validate. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and readOnlyHint=true, and the description adds significant behavioral details: it enumerates the exact validation checks (mandatory fields, IBAN mod-97, BIC format, ISO 4217 currency, etc.), notes byte-identical errors to a browser tool, and clarifies it does not transmit or generate live payments. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently conveys purpose, scope, and key behaviors without unnecessary words. It is front-loaded with the core action. While slightly dense, it remains readable and avoids verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (specific validation logic) and the absence of an output schema, the description covers most necessary aspects: what it validates, what it does not, and its non-destructive nature. It lacks explicit documentation of the return format (e.g., list of errors or success status), but the 'byte-identical error set' hint somewhat compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (xml) with schema coverage 100%. The description adds context by specifying the expected XML format (pain.001.001.09), which is already implied by the tool name. This provides minor additional value beyond the schema's type and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as validating a pain.001.001.09 XML against a schema-subset table, listing specific checks (structural, facet, batch-total) and explicitly distinguishing it from full XSD validation. The verb 'validates' paired with the specific message type makes the purpose unambiguous, and it is well-differentiated from sibling validation tools by its focus on a specific ISO 20022 message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is for 'subset validation, not full XSD conformance' and that it 'never transmits or generates a live payment message,' providing clear boundaries. It implies usage for pre-validation of pain.001.001.09 messages. However, it does not explicitly reference sibling tools or alternative validation approaches, missing a small opportunity for guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_camt053_reconciliationISO 20022 camt.053 Statement ReconciliationBRead-onlyIdempotentInspect
ISO 20022 camt.053 Statement Reconciliation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-263-score-cash-forecast-accuracy. Open at: https://ainumbers.co/chaingraph/art-258-parse-camt053-reconciliation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context well beyond the annotations: inputs are processed transiently and not stored or logged, execution is deterministic, compute may be delegated to the browser for gpu:true nodes, and an AP2 artifact with execution_hash is exported. It also discloses that the FV-status link is a snapshot, not a subscription, which clarifies expected behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains useful distinct details but is delivered as one dense paragraph with redundant phrasing: 'OpenChainGraph compute node (analytics_mandate)' is immediately followed by 'Deterministic OpenChainGraph compute node.' A longer-than-necessary block buries the actual function amid execution, privacy, artifact, URL, and FV-status details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich metadata about execution and provenance, the description is incomplete for actual invocation: it does not describe the expected camt.053 input, the concrete reconciliation/parse behavior, the fields policy_parameters must contain, or the response/artifact structure. With no output schema, the description still leaves an agent uncertain about what to pass and what will come back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline applies. The description adds some context for parent_hashes by mentioning chain provenance and execution_hash, but it does not materially explain policy_parameters beyond what the schema already says ('See the tool's manifest'). The schema carries most of the semantic weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource domain — ISO 20022 camt.053 statement reconciliation via an OpenChainGraph compute node — but never explicitly states what the tool does in active terms (e.g., 'parses a camt.053 statement and reconciles entries'). The phrase 'Statement Reconciliation' largely restates the tool name/title, and sibling tools like camt053_parse are not differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives execution-mode guidance (compute":"auto", "browser", server-side behavior) and an important data-handling constraint ('Use synthetic or anonymised inputs only'), but it does not state when to choose this tool over alternatives, what triggers its use, or when it should be avoided. No exclusions or sibling comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_aml_disposition_sampleAML Disposition Sampling Frame BuilderBRead-onlyIdempotentInspect
AML Disposition Sampling Frame Builder: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-471-disposition-sampling-frame.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses deterministic execution, compute-mode behavior (server vs browser vs gpu:true delegation), transient input handling with no storage/logging, and export of an AP2 artifact with execution_hash. These are meaningful behavioral details that an agent needs before invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description repeats 'OpenChainGraph compute node' and packs compute routing, retention guarantees, an artifact URL, and an FV-status explanation into one dense paragraph. It is not appropriately sized or structured for quick agent parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core policy_parameters are deferred to 'the tool's manifest' with no field names, and there is no output schema describing the returned AP2 artifact. While the operational and security context is strong, an agent cannot confidently construct a correct call for this sampling-frame builder.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds a server-side computation nuance, but it still does not name the actual policy_parameters fields, so it does not rise above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening sentence clearly identify the tool as an 'AML Disposition Sampling Frame Builder' and an OpenChainGraph compute node, so the broad function is understandable. However, it lacks an explicit verb phrase and does not differentiate itself from sibling tools such as derive_beacon_fair_sample or plan_attribute_sample.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational constraints such as 'Use synthetic or anonymised inputs only' and describes compute-mode routing, but it never states when to use this tool versus alternatives. There is no when/when-not guidance or mention of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_attribute_sampleAttribute Sampling Plan GeneratorBRead-onlyIdempotentInspect
Attribute Sampling Plan Generator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-458-attribute-sampling-plan.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behaviors: deterministic processing, transient input handling (not stored/logged/retained), compute mode delegation logic, and the output of an AP2 artifact with execution_hash. These align with annotations (readOnly, idempotent, non-destructive) and add transparency, though some details like URLs are tangential.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'Deterministic OpenChainGraph compute node' twice. It includes unrelated URLs and a long 'FV-status' section that detracts from the core purpose, making it poorly structured and not concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks domain context about attribute sampling plans (e.g., their role in audit or compliance) and does not specify the return structure beyond mentioning an AP2 artifact. Given the tool's complexity and lack of an output schema, this leaves significant gaps in understanding what the tool does and what it produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters (100% coverage). The tool description adds no new information about parameter meanings or relationships, merely repeating compute-mode logic that is already in the schema, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Attribute Sampling Plan Generator' and 'OpenChainGraph compute node (compliance_control)', clearly identifying the tool's purpose of generating attribute sampling plans. This is distinct from sibling tools like plan_aml_disposition_sample, which target different sampling types, so it differentiates well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It discusses compute modes and operational details but does not explain the typical use case or selection criteria, leaving agents without clear direction on when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_tls_pki_migrationTLS / X.509 PKI Migration PlannerCRead-onlyIdempotentInspect
TLS / X.509 PKI Migration Planner: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-85-pqc-timeline-fit-diagnostic, 499-crypto-asset-inventory-classifier. Output feeds: cry-04-merkle-batch-verifier, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-86-tls-pki-migration-planner.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnly/idempotent/non-destructive annotations: inputs are 'processed transiently' and 'not stored, logged, or retained,' it instructs to use synthetic/anonymised inputs only, and it explains the compute:'browser' delegation behavior and gpu:true routing. It also discloses deterministic execution and AP2 artifact export with execution_hash. This materially helps an agent understand side effects and privacy handling, with no contradiction against annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and includes non-invocation operational metadata such as the 'Open at' URL and the FV-status hash/snapshot explanation. It repeats 'OpenChainGraph compute node' and 'deterministic' and does not front-load a crisp one-sentence functional summary. Key caveats like transient input handling and synthetic-only usage are buried mid-description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and an opaque nested policy_parameters field, an agent cannot determine what inputs the planner needs or what the returned artifact will contain. The description only says an AP2 artifact with execution_hash is exported, which is a provenance wrapper, not the plan content. Upstream/downstream artifact IDs provide pipeline context but do not explain the tool's core behavior or acceptable policy_parameters, leaving the invocation under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes all four parameters, including the compute enum behavior and policy_parameters as the decision-function input object. The description echoes the compute:'auto'/'browser' routing but adds no new field-level semantics; it does not need to compensate for schema gaps, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a clear domain (TLS/X.509 PKI migration) and verb (plan), but it never states what the plan actually produces or what the tool computes beyond being a deterministic 'OpenChainGraph compute node.' The functional purpose is almost a restatement of the title, with no field-level detail or explicit differentiation from sibling planning/run tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or mention of alternatives. The only contextual signal is the pipeline position via upstream artifact IDs (art-85-pqc-timeline-fit-diagnostic, 499-crypto-asset-inventory-classifier) and output feeds, which implies sequencing but not tool selection. Compute-mode details are about execution routing, not about when to choose this tool over similar planners.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
precheck_reserve_attestationGENIUS Act Reserve Attestation Pre-CheckBRead-onlyIdempotentInspect
GENIUS Act Reserve Attestation Pre-Check: OpenChainGraph compute node (attestation_mandate). Regulatory deadline: 2027-01-01 (GENIUS Act effective ≤ January 2027; monthly reserve reports + annual PCAOB audit (>$50B issuers); FDIC NPRM April 2026). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-06-genius-act-reserve-attestation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the bar is lower. The description adds meaningful behavior: determinism, transient input processing (not stored/logged), compute mode routing (server vs browser), and AP2 artifact export with execution_hash. It also warns against using real data. This goes beyond the annotations and gives agents a clear model of side effects and guarantees, though it stops short of detailing the full return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, unstructured wall of text with many clauses: regulatory deadlines, compute details, privacy notes, URL, and FV-status link. It is not front-loaded with the most critical decision points (what the tool does and when to use it) and includes tangential legal context that an agent does not need to invoke the tool. Conciseness is sacrificed for completeness, but the structure is not optimized for agent reading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool and the absence of an output schema, the description provides a fair amount of context: compute modes, privacy, artifact export, and output feed. However, it does not explain what the 'pre-check' actually evaluates, what policy_parameters should contain (beyond a pointer to the manifest), or what the response looks like. It is partially complete but leaves key operational details unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) is already documented in the schema. The description adds marginal value by reiterating compute modes and mentioning 'See the tool's manifest for field names' for policy_parameters, but it does not deepen understanding beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool is a 'GENIUS Act Reserve Attestation Pre-Check' and an 'OpenChainGraph compute node (attestation_mandate)', which conveys a clear verb-resource pairing (pre-check + reserve attestation). It is not a tautology and distinguishes itself from generic attestation tools by the specific regulatory focus. However, the purpose is buried under dense jargon and regulatory details, making it less immediately graspable than ideal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an operational constraint ('Use synthetic or anonymised inputs only') and explains compute modes, but it does not explicitly state when to use this tool versus alternatives or what conditions exclude its use. It mentions an output feed but no direct comparison to sibling tools like 'check_genius_reserve_disclosure' or 'verify_reserve_proof'. Usage context is only implied by the title and 'pre-check' terminology.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_settlement_failSettlement-Fail PredictorCRead-onlyIdempotentInspect
Settlement-Fail Predictor: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-77-t1-settlement-readiness-diagnostic, art-80-ssi-conformance-checker. Output feeds: art-84-settlement-efficiency-kpi, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-79-settlement-fail-predictor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior; the description adds meaningful context: 'Inputs are processed transiently to compute the response and are not stored, logged, or retained,' plus the export of an AP2 artifact with execution_hash for provenance. These details go beyond the hints and describe data-handling and side-effect traits. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph mixing compute mechanics, data-retention policy, artifact provenance, chain dependencies, and an FV-status receipt URL. Much of the compute-mode detail is repeated from the input schema, and the FV-status snapshot sentence is likely noise for an agent trying to invoke the tool. It lacks front-loading of the tool's purpose and readable structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the tool returns, but it only says 'Exports an AP2 artifact with execution_hash for chain provenance' and mentions a browser delegation URL in compute:"browser" mode. The core prediction semantics—what the result represents or how to interpret it—are unstated. The upstream/downstream artifact references provide context but do not compensate for the missing response description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline applies: the description mostly echoes the schema's compute-mode explanation and adds little new semantic meaning. It does point to 'the tool's manifest for field names' for policy_parameters, which is an external reference rather than inline clarification. Overall the schema carries the parameter-documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Settlement-Fail Predictor: OpenChainGraph compute node (model_governance)' which largely restates the title and classifies the tool as a compute node, but never explicitly states what it predicts or how. A reader must infer from the name and the upstream artifact references that it assesses settlement failure. This is closer to a tautology than a precise purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance relative to alternatives such as compute_settlement_efficiency_kpi or classify_settlement_finality. It does advise 'Use synthetic or anonymised inputs only' and explains compute-mode behavior, but these are operational constraints, not guidance on selecting this tool over siblings. No exclusions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prevalidation_readiness_scorerCross-Border Payment Prevalidation Readiness ScorerCRead-onlyIdempotentInspect
Cross-Border Payment Prevalidation Readiness Scorer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-243-purpose-code-requirement-checker. Open at: https://ainumbers.co/chaingraph/art-247-prevalidation-readiness-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds details about transient processing, non-storage, and the AP2 artifact export, which align with those hints. However, it reveals nothing about the actual decision logic or whether any side effects occur beyond generating output, so transparency is only partially enhanced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, run-on block with repeated phrases ('OpenChainGraph compute node', 'Deterministic', 'compute:...') and includes URLs and provenance details that are not essential for invoking the tool. It is not concise or well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the verbose text, the description fails to explain the tool's overall function, expected inputs beyond generic parameter descriptions, or what the output artifact represents. Without additional context (e.g., a manifest reference), an agent cannot determine how to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are described in the schema itself (100% coverage). The tool description adds no new semantic meaning; it merely repeats the schema's generic phrasing. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is auto-generated boilerplate. It names the tool 'Cross-Border Payment Prevalidation Readiness Scorer' but never explains what 'prevalidation readiness' means or what the tool actually computes. It focuses on compute modes and provenance, leaving the core purpose ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus any of the dozens of sibling tools, many of which have similar names (e.g., run_dora_readiness_diagnostic, score_mcp_readiness). The description only discusses compute execution modes, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_embedded_insuranceEmbedded Insurance Pricing ModellerDRead-onlyIdempotentInspect
Embedded Insurance Pricing Modeller: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-366-price-embedded-insurance.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses execution details: default server-side computation, browser delegation for gpu:true nodes, transient input processing, and the fact that it exports a ChainGraph artifact. This adds meaningful behavioral context, though it omits details about side effects of the artifact export or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose and repetitive, including full URLs, a hash string, and boilerplate phrases like 'OpenChainGraph compute node' and 'analytics_mandate' that add no functional value. It reads as generated template text, obscuring the tool's purpose under infrastructure jargon. A concise summary of inputs and outputs would be far more effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested objects, multiple params, an opaque policy_parameters object), the description is severely incomplete. It fails to specify what pricing model is used, what fields policy_parameters requires, what the AP2 artifact contains, or how the result should be interpreted. An agent would struggle to call this tool correctly based solely on the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes `compute`, `parent_hashes`, and `parent_tool_ids` with reasonable detail. The description adds little beyond restating the compute modes. Critically, `policy_parameters` remains undefined—the description only repeats 'input parameters for this tool's decision function' without enumerating possible fields, so it fails to enhance the schema's sparse semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as 'Embedded Insurance Pricing Modeller' and refers to a 'decision function', but it never actually explains what pricing logic is performed, what inputs it expects (beyond vague 'policy_parameters'), or what output the AP2 artifact represents. The bulk of the text is about compute modes and chain provenance, leaving the core purpose underdefined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus any alternative. It does not mention sibling tools, eligibility criteria, or typical use cases. The only directive is to 'use synthetic or anonymised inputs only', which is a data-handling instruction rather than usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prove_metadata_sanitizationMetadata Sanitization ProverBRead-onlyIdempotentInspect
Metadata Sanitization Prover: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-191-conversion-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-193-metadata-sanitization-prover.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint, idempotentHint, and destructiveHint already provided, the description substantially exceeds them. It states that compute can happen server-side or in the browser, that inputs are not stored, logged, or retained, that outputs are deterministic AP2 artifacts with execution_hash, that browser mode returns a delegation URL, and that the FV-status receipt is a snapshot rather than a subscription. These are genuinely useful behavioral disclosures, and no contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The most useful behavioral information is front-loaded, but the description repeats 'OpenChainGraph compute node' and includes URLs and a long FV-status receipt hash that an agent does not strictly need to invoke the tool correctly. It is not wasteful overall, but not every sentence clearly earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains execution location, privacy behavior, artifact output, downstream consumer, and provenance verification, which is strong for a compute node. However, it leaves the actual proving semantics of metadata sanitization unexplained, and policy_parameters is deferred to a manifest, so the agent still cannot know the full reasoning and input options without external documentation. There is also no output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all four parameters with 100% coverage, so the baseline is 3. The description adds no real parameter-level semantics beyond repeating behavior of compute mode and mentioning that policy_parameters are used for a decision function. It provides no extra detail about parent_hashes, parent_tool_ids, or what policy_parameters fields should look like.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node and says it exports an AP2 artifact with an execution_hash, but it never plainly states the core function such as 'verifies that metadata has been sanitized' or what property is being proven. The name and title carry most of the semantic load, so the description alone leaves the core purpose somewhat inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides concrete usage constraints such as using synthetic or anonymised inputs only and explains the compute auto/browser/server routing, but it does not say when to use this tool instead of a sibling proof, verification, or artifact tool. The intended downstream feed to art-191-conversion-receipt-builder also helps situate it, but the guidance is still more operational than decision-oriented.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_model_risk_headPublish Model Risk HeadDRead-onlyIdempotentInspect
Publish Model Risk Head: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-453-model-validation-status, art-489-model-test-battery, art-562-compile-model-risk-lineage-pack. Open at: https://ainumbers.co/chaingraph/art-649-publish-model-risk-head.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains compute mode behavior, transient processing, and that it exports an AP2 artifact with execution_hash. It does not explicitly address side effects beyond that, but the readOnlyHint annotation covers state changes. Some transparency, but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with multiple sentences restating compute modes and provenance details. It could be condensed significantly without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No domain context is provided for what a 'model risk head' is, what the decision function evaluates, or what the output artifact contains. The description relies on external references (manifest, ChainGraph) without elaboration, leaving the tool's purpose and usage largely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions, but they are generic and system-specific (e.g., parent_hashes chaining, compute enums). The most important parameter, policy_parameters, is vague and refers to a 'manifest' without listing fields. Descriptions do not provide tool-specific meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it publishes a model risk head, but then provides generic boilerplate about compute modes, chaining, and policy parameters without explaining what the tool actually does or what a 'model risk head' is. The purpose is only implicit from the name, not clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, no conditions or exclusions are mentioned. The description only discusses internal compute mechanics, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rdarr_aggregation_recomputeRDARR Aggregation RecomputeCRead-onlyIdempotentInspect
RDARR Aggregation Recompute: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-480-rdarr-aggregation-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral aspects beyond the annotations: it states inputs are processed transiently and not stored, warns to use synthetic or anonymized inputs only, and explains how compute modes affect execution (e.g., gpu:true nodes always delegate to the browser). These details add transparency not present 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, repeating 'OpenChainGraph compute node' and including long URLs. It buries the essential purpose in technical execution details, making it less concise and not front-loaded with a clear statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having schema and annotations, the description lacks clarity on the domain (what RDARR aggregation is) and the meaning of policy_parameters. It also does not clarify what the returned AP2 artifact represents beyond an execution_hash. The absence of an output schema makes the description insufficient for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% parameter descriptions (compute, parent_hashes, parent_tool_ids, policy_parameters). The tool description does not add any extra semantics; it only refers to 'inputs' generically, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node for 'aggregation recompute' but does not clearly define what RDARR aggregation entails or what specific result is produced. It mentions compute binding and output artifacts, but the core purpose remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool instead of sibling aggregation tools like aggregate_ownership_50pct or aggregate_solvency2_scr_modules. It focuses on compute mode details (server-side vs browser) but lacks usage scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rdarr_quality_scorecardRDARR Quality ScorecardBRead-onlyIdempotentInspect
RDARR Quality Scorecard: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-481-rdarr-quality-scorecard.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: it states determinism, transient processing, that inputs are not stored/logged/retained, and that the tool exports an AP2 artifact with execution_hash. It also clarifies compute modes and that gpu:true nodes always delegate. This information is critical for an agent to understand side effects, privacy implications, and provenance handling, and it is fully consistent with the annotations (readOnly, idempotent, non-destructive).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes redundant phrasing (e.g., 'OpenChainGraph compute node' appears twice in the opening). It also includes URLs and verification metadata that may not be necessary for tool selection. Key information about the scorecard's purpose is buried among technical compute details. The description could be significantly shortened without losing essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers compute modes, determinism, transient processing, and export behavior, it does not fully describe what the tool returns to the caller. There is no output schema, and the description only mentions 'Exports an AP2 artifact with execution_hash' without clarifying the shape or interpretation of the result. It also references an external manifest for policy_parameters, adding a dependency. Given the complexity (OpenChainGraph, attestation_mandate) and lack of output details, the description is not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with descriptions, and the description adds little beyond what the schema states. It does mention that policy_parameters are computed server-side in certain modes, but that is also covered in the schema. The description points to an external manifest for policy_parameters field names, which is a minor addition but does not deepen understanding of the parameters themselves. Given 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'RDARR Quality Scorecard' and an 'OpenChainGraph compute node,' but it does not specify what the scorecard actually measures or what criteria determine the score. It mentions exporting an AP2 artifact with execution_hash, but the core function remains vague. The title and first line give a general sense, but an agent would not know what quality dimension is being assessed or what constitutes a positive or negative result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on compute modes (auto, server, browser) and instructs to use synthetic or anonymised inputs, but it does not indicate when to select this tool over any of its many siblings. There is no mention of alternative tools or conditions that would make this the appropriate choice. The only 'when' context is about compute execution location, not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_best_executionBest-Execution NBBO RecomputeARead-onlyIdempotentInspect
Best-Execution NBBO Recompute: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-541-best-execution-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, compute modes affect execution location, and it exports an AP2 artifact with execution_hash. It also provides a URL and FV-status link for verification. This goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the tool's identity and compute modes, but it includes a long URL and FV-status JSON path that may be noise for an agent. The core behavioral info is present, but the description could be more concise by trimming the verification links. It's not overly long, but the structure mixes operational details with provenance metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with no output schema, the description covers the key aspects: what it does, compute modes, data handling, and artifact export. It also provides a link for more details. The only gap is that it doesn't describe the response format beyond mentioning the AP2 artifact and execution_hash, but given the complexity and the presence of a manifest reference, it's reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about compute modes and mentions that policy_parameters are computed server-side for gpu:false nodes, but it doesn't add syntax or format details beyond the schema. The description does clarify the 'auto' default behavior, which is helpful, but the schema already covers the enum values and descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('recompute') and resource ('Best-Execution NBBO'), and identifies it as an OpenChainGraph compute node with an analytics_mandate. It distinguishes itself from siblings by mentioning the compute modes and the AP2 artifact export, though it doesn't explicitly name a sibling alternative. The purpose is clear but the differentiation from other recompute_* tools is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use different compute modes ('auto' vs 'browser' vs 'server') and notes that gpu:true nodes always delegate to browser. It also warns to use synthetic or anonymised inputs only, which is a usage constraint. However, it doesn't explicitly state when NOT to use this tool or name alternative tools for similar tasks, so the guidance is context-rich but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_bordereauDelegated Authority Bordereau RecomputationARead-onlyIdempotentInspect
Delegated Authority Bordereau Recomputation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-508-recompute-bordereau.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations are readOnlyHint=true and idempotentHint=true, so some safety profile is already declared. The description goes beyond that by explaining the compute binding behavior (auto/server/browser), where execution happens (Cloudflare Workers), and the transient processing with non-retention of inputs — a genuinely useful behavioral disclosure. It also notes that the FV-status link is a snapshot, not a subscription. The one meaningful absence is a statement of what the response looks like (AP2 artifact with execution_hash is mentioned, but no format). Overall strong for a read-only node.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and front-loads a lot of jargon (OpenChainGraph, analytics_mandate, deterministic, gpu:false). It repeats 'deterministic OpenChainGraph compute node' near the start. It also includes a long URL for 'Open at:' and the FV-status receipt JSON URL, which are operational details that add significant noise for an agent trying to decide how to call the tool. The privacy note and the safety note are useful but buried mid-paragraph. A tighter structure would state the purpose, the mode switch, and the privacy constraint in 2–3 short sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic read-only compute node with 100% schema coverage, the description covers the core semantics: what gets computed (server vs browser), the input handling (transient, non-retained), and the provenance output (AP2 artifact with execution_hash). It does not describe the returned data shape (the AP2 artifact's fields or whether the response is the artifact itself), nor does it clarify the relationship between policy_parameters and the manifest. Given the complexity of the compute binding, some additional explanation of expected return would lift this to a 4, but as it stands it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with detailed descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds the default behavior of compute ('auto') and the server/browser distinction, but the per-parameter explanations are already in the schema. So the description adds marginal value over the schema; baseline 3 applies. No syntax or format details for the hashtypes are added beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair (recompute a Delegated Authority Bordereau) and characterizes the tool as a deterministic OpenChainGraph compute node with analytics_mandate. It is reasonably distinct from the many recompute_* siblings because it binds to an OpenChainGraph compute node with execution_hash provenance. However, the name already carries most of this meaning, and the description does not state what a bordereau is or what the output is, besides mentioning an AP2 artifact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains default mode (auto → server), and explicitly gives the switch to 'browser' for browser delegation, and states gpu:true nodes always delegate. It also gives a strong privacy/usage directive: use synthetic or anonymised inputs only. What it does not do is route against siblings (e.g., when to use recompute_gl_tieout_recompute vs this), but for a compute node the usage context is largely self-contained. The presence of siblings named recompute_* is not addressed, which is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_ccd2_aprc_annex3CCD2 Annex III APRC RecomputeARead-onlyIdempotentInspect
CCD2 Annex III APRC Recompute: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-619-ccd2-aprc-annex3-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| aprc_pct | No | |
| bracketed | No | |
| converged | No | |
| total_charge | No | |
| num_drawdowns | No | |
| drawdown_total | No | |
| num_repayments | No | |
| iterations_used | No | |
| repayment_total | No | |
| residual_at_convergence | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This is the standout dimension. Annotations already flag readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description enriches this with disclosures no annotation captures: 'Inputs are processed transiently to compute the response and are not stored, logged, or retained'; the side-effectful disclosure that it 'Exports an AP2 artifact with execution_hash for chain provenance'; and the verification caveat that FV-status is 'a snapshot, not a subscription' that 'verifies offline regardless of whether that file is ever fetched.' Also disclosed is the client-delegation side-effect where browser mode returns a delegation URL. This is genuinely honest, behavior-revealing documentation that meaningfully adds to 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: identity, compute routing, data-privacy commitment, artifact export, and verification receipt — no filler. It is paralleled by the parenthetical-heavy style which, while information-rich, scans as a single wall of text in the original formatting. Slightly better structure (line breaks or bullets) would help the agent parse the data-handling guarantees and verification path more directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool this complex in its execution matrix, the description covers an impressive amount of ground: compute-mode matrix, data-retention privacy, output artifact, and verification path — and an output schema exists for return values. The remaining gaps are the unresolved policy_parameters manifest reference and a void in domain motivation. For an agent that must safely determine whether to run a compute in the browser, the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 complements the schema's compute parameter by explaining the auto-mode decision (server-side for gpu:false nodes) and the publication of execution_hash which the parent_hashes parameter consumes. However, the description does not compensate for the schema's notable gap — policy_parameters says 'See the tool's manifest for field names,' and the description doesn't clarify what parameters this decision function takes. The parameter semantics are adequate but leave the deepest gap unresolved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Recompute') and resource ('CCD2 Annex III APRC') and is not a tautology, but the actual domain purpose is buried under infrastructure detail. The sentence 'Deterministic OpenChainGraph compute node' leads with engineering mechanics (compute modes, Cloudflare Workers, gpu flags) rather than the compliance meaning of an Annex III APRC recomputation. An agent could understand this recomputes an APRC value with provenance, but the reader must work to separate the business intent from the platform mechanics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives substantive when/when-not routing guidance, e.g. 'compute:"auto" inputs are computed server-side... compute:"browser" forces client-side execution and returns a browser delegation URL' and 'gpu:true nodes always delegate to the browser.' This is genuine navigational guidance for execution modes. However, it never says when an agent should pick this tool over sibling recompute tools or what conditions warrant recomputation. The guidance is entirely internal to execution, with no tool-selection guidance for the broader sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_ccp_default_waterfallCCP Default Waterfall RecomputationBRead-onlyIdempotentInspect
CCP Default Waterfall Recomputation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-529-ccp-default-waterfall-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations declaring readOnly/idempotent/non-destructive behavior, the description adds materially: deterministic execution, transient processing ('not stored, logged, or retained'), a policy warning ('synthetic or anonymised inputs only'), side-effect disclosure ('exports an AP2 artifact with execution_hash'), and a verifiable FV-status receipt that works offline. It even pre-empts a common operational misconception ('a snapshot, not a subscription'). This is exemplary added value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads a redundant title echo ('CCP Default Waterfall Recomputation:') and contains avoidable repetition of 'OpenChainGraph compute node' and the word 'deterministic.' The FV-status line trails into a long, cognitively heavy footer ('— a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched') that buries the otherwise useful verification guarantee. It's over-long for the signal an agent needs, though every sentence does carry some information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param tool with rich annotations and 100% schema coverage, the essential operational context is present: data handling, artifact output, verification route, and compute modes are all disclosed. Yet there is no description of the response/return structure (no output schema exists to compensate), no explanation of what a 'CCP default waterfall' is for agents unfamiliar with the domain, and no indication of expected compute time or error handling. Adequate for a well-scoped node, but real gaps around outputs and failure behavior remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters, justifying the baseline of 3 — the description correctly avoids re-documenting them. The description does tie 'auto' vs 'browser' compute semantics together coherently and references the compute:'auto' default consistently with the schema. However, policy_parameters defers to 'the tool's manifest for field names,' and the description makes no attempt to characterize this nested-object parameter beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (CCP default waterfall) and context (OpenChainGraph compute node, analytics_mandate) and establishes determinism, so an agent can infer it recomputes the waterfall. However, it never uses a concrete verb phrase like 'recomputes X from Y' — the action is asserted ('*is* a compute node') rather than stated, and among dozens of recompute_*/size_*/recompute_* siblings this one doesn't say what distinguishes it from the nearest neighbors. Adequate but not sharply distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains internal control flow (server vs. browser compute, delegation behavior) and warns to 'Use synthetic or anonymised inputs only,' but says nothing about when this tool should be chosen over siblings like recompute_payment_waterfall or size_ccp_default_fund_cover2. Runtime behavior is well covered; selection criteria and exclusions are entirely absent. No guidance on prerequisites (e.g., kernel registration, manifest construction) is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_certified_payroll_pwaCertified Payroll / Prevailing Wage RecomputationCRead-onlyIdempotentInspect
Certified Payroll / Prevailing Wage Recomputation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-574-certified-payroll-prevailing-wage-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds substantial behavior: determinism, transient processing with no storage, compute mode selection (server vs browser), browser delegation URL, artifact export with execution_hash, and FV-status snapshot. This goes well beyond the annotations and is consistent with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceedingly long and dense, covering chain provenance, compute bindings, URLs, and FV-status links. It lacks clear structure; key information like the actual business purpose is buried under technical jargon. This is not concise and would overwhelm an agent rather than help it quickly understand the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite covering many technical aspects, the description omits the core business functionality: what specific computations are performed, what policy_parameters are required (pointing to an external manifest), and what the response/artifact contains. With no output schema and a complex parameter set, an agent would not be able to correctly invoke this tool without external information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a description. The description adds a note that policy_parameters are for the tool's decision function and references an external manifest, but does not elaborate on field names or structure. This is marginal value over the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and title clearly state it recomputes certified payroll/prevailing wage, but the description focuses on chain mechanics (compute modes, artifact export, provenance) rather than the actual computation logic. It does not explain what inputs or outputs the recomputation involves, nor how it differs from the many other recompute_* sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It only states a constraint to 'use synthetic or anonymised inputs only' and explains compute modes, but does not mention any criteria for selecting this tool over similar recompute tools or any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_corporate_action_entitlementCorporate Action Entitlement RecomputeARead-onlyIdempotentInspect
Corporate Action Entitlement Recompute: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-546-dtcc-ca-iso20022-validator. Open at: https://ainumbers.co/chaingraph/art-547-corporate-action-entitlement-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral disclosure beyond the annotations: deterministic execution, server-side vs browser delegation semantics, transient input processing with no storage/logging/retention, and export of an AP2 artifact with an execution_hash for provenance. It also surfaces the FV-status verification behavior. These details meaningfully exceed the annotation baseline without contradicting any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive ('OpenChainGraph compute node' appears twice in the first two sentences) and buries critical operational guidance mid-text. The FV-status verification block is meta-commentary about the description itself rather than the tool, consuming space without adding functional value. It would benefit from front-loading the key usage constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool, the description covers execution model, data handling, upstream dependencies, and output artifact. However, it never explains what a corporate action entitlement recompute does in domain terms, nor does it describe the return structure beyond 'AP2 artifact with execution_hash'. The free-form policy_parameters object is left to an external manifest, mentioned only in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; all parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) are documented in the schema. The description elaborates on the compute modes, but this largely mirrors the enum's existing documentation rather than adding new parameter-level meaning. No additional insight is given for parent_hashes/parent_tool_ids/policy_parameters beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear operation (recompute) and resource (corporate action entitlement) and positions it as an 'OpenChainGraph compute node (compliance_mandate)', giving it a defined role in a pipeline. However, the opening phrase largely restates the title and adds execution mechanics rather than domain semantics, and it doesn't explicitly differentiate from sibling compute tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some implicit usage signals: it's deterministic, side-effect-free, consumes an upstream artifact from art-546-dtcc-ca-iso20022-validator, and explicitly says 'Use synthetic or anonymised inputs only'. However, there's no explicit 'use when' vs 'use something else' guidance, and the when-to-use scenario is inferred from the chain-graph context rather than stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_csdr_penaltyCSDR Penalty Recompute (Caller Reference Price)DRead-onlyIdempotentInspect
CSDR Penalty Recompute (Caller Reference Price): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-543-csdr-penalty-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly discloses that inputs are processed transiently, not stored/logged/retained, and that the tool is deterministic. It also explains compute-binding delegation and artifact export. However, it does not add details beyond annotations regarding read-only or idempotent behavior, so transparency is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly verbose and repetitive, repeating identical sentences about compute modes and data retention multiple times. It also includes a long URL and file path that seem extraneous. The structure wastes words and obscures the actual functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is a generic template that fails to explain domain specifics: what CSDR penalty is, what inputs are required, how parent hashes/tool IDs are used, or what output the recompute produces. It omits any mention of an output schema and does not provide enough context for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with descriptions. The description adds little semantic value: it explains compute mode and mentions policy_parameters as inputs to the decision function, but it does not clarify the roles of parent_hashes or parent_tool_ids. No new meaning is provided for those parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'recomputes CSDR penalty' and mentions 'Caller Reference Price', but it never defines what CSDR penalty is or how this recompute differs from the related calculate_csdr_penalty. The core purpose is buried under repeated compute-mode and data-handling text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like calculate_csdr_penalty. The only usage-related note—'use synthetic or anonymised inputs only'—is about data handling, not about selection criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_erc4337_userop_mathERC-4337 UserOperation MathARead-onlyIdempotentInspect
ERC-4337 UserOperation Math: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-613-erc4337-userop-math.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reasons | No | |
| user_op | No | |
| verdict | No | |
| chain_id | No | |
| scope_note | No | |
| entry_point | No | |
| field_hashes | No | |
| packed_words | No | |
| user_op_hash | No | |
| never_fetched | No | |
| gas_accounting | No | |
| packed_user_op_hash | No | |
| paymaster_reconciliation | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description goes beyond these by stating that inputs are processed transiently and are not stored, logged, or retained, and that it exports an AP2 artifact with execution_hash for chain provenance. It also discloses determinism and provides a verification link and FV-status snapshot, adding meaningful behavioral context without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads the core purpose and compute mode logic before privacy and provenance details. While it includes extra links and FV-status information, each sentence adds value around compute behavior, security, or verification. It is not overly verbose given the complexity of the tool, though slightly on the longer side.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, description does not need to detail return values. It covers compute modes, transient processing, chain provenance, and provides a verification URL and FV-status. The description mentions policy_parameters but directs to a manifest for field names, which is a minor gap; still, it is largely complete for an agent to understand how to invoke and interpret the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all four parameters. The description adds some context about compute modes (e.g., mapping of 'auto' vs 'browser'), but this largely mirrors the schema's own parameter descriptions. It mentions policy_parameters but defers field names to a manifest, adding no concrete meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a deterministic OpenChainGraph compute node for ERC-4337 UserOperation math, tied to payment_policy. It distinguishes it from siblings through its specific compute nature and mentions output as an AP2 artifact. However, it stops short of specifying the exact mathematical computation or decision function, leaving a slight ambiguity about what the tool actually calculates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on compute modes: auto, server, and browser, including the conditions under which each is used (e.g., gpu:false with registered kernels, or gpu:true forcing browser delegation). It also warns to use synthetic or anonymised inputs only. It does not explicitly contrast with alternative tools, but the compute-mode explanations are clear enough for an agent to choose the correct execution path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_erc7540_request_accountingERC-7540 Async-Vault Request AccountingARead-onlyIdempotentInspect
ERC-7540 Async-Vault Request Accounting: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-611-erc7540-async-vault-request-accounting.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dust | No | |
| note | No | |
| claims | No | |
| closing | No | |
| opening | No | |
| reasons | No | |
| invariants | No | |
| request_id | No | |
| declared_context | No | |
| claim_rounding_used | No | |
| aggregate_by_controller | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, use synthetic inputs only, exports AP2 artifact with execution_hash, and provides a verification URL. This goes beyond annotations and is important for safety. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the core purpose, but it's quite long and includes a lot of tangential information (URLs, FV-status, snapshot receipts) that may not be essential for an agent to call the tool. The compute mode explanation is useful but could be more concise. It's structured but slightly over-long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema, the description doesn't need to explain return values. It covers compute modes, data handling, provenance, and verification. The policy_parameters field is somewhat vague ('see the tool's manifest for field names') but the schema covers it. For a complex tool with nested objects and 4 params, this is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters well. The description adds context about compute modes and policy_parameters being computed server-side, but doesn't add much beyond the schema. Baseline 3 is appropriate since schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is an ERC-7540 Async-Vault Request Accounting compute node with a payment_policy, and it's deterministic. It distinguishes itself from siblings by being a specific recompute_* tool for ERC-7540 accounting. However, it doesn't explicitly contrast with the many other recompute_* siblings (e.g., recompute_erc4626_vault_share_math), though the ERC-7540 reference is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when browser delegation occurs, which is useful. But it doesn't explicitly state when to use this tool vs alternatives, or when not to use it. The compute mode guidance is implicit usage context but no explicit routing to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_exchange_fee_tier_invoiceExchange Access-Fee / Maker-Taker Tier RecomputeARead-onlyIdempotentInspect
Exchange Access-Fee / Maker-Taker Tier Recompute: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-577-exchange-fee-tier-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnly/idempotent annotations, the description discloses determinism, transient processing with no storage/logging/retention, server vs browser execution, gpu:true delegation, and an AP2 artifact with execution_hash. This gives an agent a strong model of side effects and execution environment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well ordered but padded: 'OpenChainGraph compute node' appears twice, and the canonical URL plus FV-status receipt add several sentences that are not needed for invocation. It is readable, not tautological, but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Behavioral and safety context is strong for a 4-parameter tool, but with no output schema the description only vaguely indicates the result (AP2 artifact with execution_hash) and leaves policy_parameters field names to a manifest. An agent can call it correctly only if that manifest is available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline applies; the description adds useful compute-mode context (Cloudflare Workers, registered kernel, gpu behavior) beyond the schema, but it does not clarify parent_hashes/parent_tool_ids semantics and defers policy_parameters fields to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line state the resource and action: recomputing an Exchange Access-Fee / Maker-Taker Tier as an OpenChainGraph compute node. The purpose is clear enough to distinguish from generic sibling tools, though the description never states in one plain sentence what the computed result is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use versus alternative recompute tools is given, and the sibling list contains many recompute_* tools. The only usage guidance is operational ('use synthetic or anonymised inputs only') and compute-mode behavior, not tool-selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_fund_feesRecompute Fund FeesARead-onlyIdempotentInspect
Recompute Fund Fees: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-511-recompute-fund-fees.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are processed transiently and not stored/logged/retained, browser delegation is possible, the tool exports an AP2 artifact with execution_hash, and there is an FV-status snapshot. None of this contradicts the readOnly/idempotent/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded but overly long and repetitive: 'OpenChainGraph compute node' appears twice, and the URL plus FV-status receipt details are not necessary for an agent to select or invoke the tool correctly. Several sentences add provenance noise rather than operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, privacy guarantees, and artifact output, which is helpful given there is no output schema. However, it does not describe the actual output structure beyond 'AP2 artifact with execution_hash', and policy_parameters field names are deferred to a manifest, leaving the agent without concrete input construction guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates some compute-mode semantics already present in the schema and names policy_parameters, but adds little parameter-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb and resource: 'Recompute Fund Fees' on an 'OpenChainGraph compute node', and adds that it is deterministic and exports an AP2 artifact. It does not, however, explicitly distinguish itself from related sibling tools such as recompute_fund_nav or compute_fund_expense_ratios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit compute-mode guidance (auto/server/browser behavior, gpu:true vs gpu:false) and a strong instruction to use synthetic or anonymised inputs only. It does not state when to use this tool versus alternative recompute_fund_* siblings, nor does it give exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_garnishment_stackMulti-Garnishment Stacking RecomputationARead-onlyIdempotentInspect
Multi-Garnishment Stacking Recomputation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-572-multi-garnishment-stacking-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing deterministic behavior, transient processing with no storage/logging/retention, server-side versus browser delegation semantics, the export of an AP2 artifact with execution_hash, and the FV-status snapshot verification semantics. All of this aligns with the read-only, non-destructive, idempotent annotations; no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and contains a lot of useful behavioral detail, but it repeats compute-mode mechanics that already exist in the input schema. The embedded URLs and FV-status receipt text add context yet also lengthen the description; a moderately trimmed version would be equally effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still indicates the output form (AP2 artifact with execution_hash), covers compute-execution modes, input privacy constraints, and provenance verification. It does not describe policy_parameters field structure beyond a pointer to the manifest, and the AP2 artifact shape is not detailed, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 prose restates the compute enum behavior already captured in the schema, and it adds no additional meaning for parent_hashes, parent_tool_ids, or policy_parameters. No parameter-level clarification is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly names the operation (recomputation) and the resource (multi-garnishment stacking), and identifies the tool as a deterministic OpenChainGraph compute node. It is specific enough to distinguish from most sibling tools, though it does not explicitly reference an alternative tool or draw a comparison, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute-mode behavior and warns to use synthetic or anonymised inputs only, which gives practical guidance. However, it never states when to prefer this tool over another recompute or compute sibling, nor does it name alternatives or exclusion conditions. Usage context is implied rather than expounded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_lease_schedule_asc842_ifrs16Lease Schedule Recompute — ASC 842 / IFRS 16ARead-onlyIdempotentInspect
Lease Schedule Recompute — ASC 842 / IFRS 16: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-571-lease-schedule-recompute-asc842-ifrs16.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description aligns with these (no contradiction). Crucially, it adds meaningful context about non-retention: inputs are processed transiently and not stored, logged, or retained — beyond the annotations. It also explains server-side vs browser delegation behavior, the execution_hash provenance, and the FV-status snapshot nature. This is substantial behavioral disclosure that complements the annotations. No contradiction. Slight knock because it doesn't describe error/edge behavior or what 'registered kernel' means for the agent, but it's strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but informative; however, it is quite long and front-loads a lot of infrastructure terminology ('OpenChainGraph compute node', 'compliance_control', 'AP2 artifact', 'FV-status') that may be jargon. The core lease recompute functionality is not described in plain terms — it's buried under the compute/framework specifics. It also includes URLs, which are useful but add length. Not lean, but not rambling. The structure could be improved by leading with what the tool does for lease schedules, then the compute/retention behavior. It earns a 3 because every sentence does carry information, but the organization is suboptimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters (0 required) and a nested object (policy_parameters) with no output schema. Given the complexity, the description covers compute-mode decisions, input constraints, retention policy, and output characteristics (execution_hash, AP2 export, browser delegation). It falls slightly short on what exactly 'policy_parameters' should contain for lease recomputation and what the returned artifact structure looks like, since there is no output schema. Given the missing output schema, the description should have described the response format more (browser delegation URL, AP2 artifact details are mentioned). Overall it's fairly complete for the framework but lacks lease-domain specifics. 4 is reasonable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds value for the 'compute' parameter by explaining the enum values and the auto/server/browser semantics in prose, which the schema already describes but the description reinforces. It also mentions 'policy_parameters' is the input for the decision function and refers to the tool's manifest for field names, which helps, though it doesn't enumerate the policy fields themselves (deferring to a manifest the agent may not have). Given the 100% coverage and the extra prose on compute, a 4 is appropriate — it clearly compensates beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly indicate the tool recomputes lease schedules under ASC 842/IFRS 16. The description reinforces this with the mention of a 'compute node' and 'decision function'. However, the description is heavily oriented toward the OpenChainGraph/AP2 infrastructure rather than explaining precisely what lease recalculation involves (e.g., recomputing lease liabilities, ROU assets, amortization schedules). It distinguishes itself from siblings like 'recompute_fund_fees' or 'recompute_payment_waterfall' by name, but the description doesn't explicitly call out what makes this lease-specific. Still, the purpose is clear enough for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute mode selection ('auto', 'server', 'browser') and the gpu:true rule, which is a significant usage guideline. It does not state when to use this tool versus the many other 'recompute_*' tools, nor does it reference a specific workflow or upstream/downstream tool. It does mention 'Use synthetic or anonymised inputs only', which is a usage constraint. It lacks explicit 'when not to use' guidance or alternatives among the siblings, so the usage guidance is partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_mla_mapr_actuarialMLA MAPR Actuarial RecomputeARead-onlyIdempotentInspect
MLA MAPR Actuarial Recompute: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-616-mla-mapr-actuarial-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| mapr_pct | No | |
| bracketed | No | |
| converged | No | |
| iterations | No | |
| exceeds_cap | No | |
| mapr_cap_pct | No | |
| num_advances | No | |
| num_payments | No | |
| advance_total | No | |
| payment_total | No | |
| periodic_rate | No | |
| charge_breakdown | No | |
| periods_per_year | No | |
| regulatory_basis | No | |
| amount_financed_mapr | No | |
| manual_review_required | No | |
| prepaid_included_total | No | |
| finance_charge_in_schedule_total | No | |
| participation_fee_open_end_no_balance_limit_usd | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds concrete non-obvious behavior: inputs are processed transiently and not stored/logged/retained, the compute dispatch logic (server-side Workers vs browser delegation) and that it exports an AP2 artifact with execution_hash for chain provenance. It also clarifies a compliance_mandate context. These are valuable beyond the annotations, so transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the purpose and core dispatch behavior, with each sentence contributing. It is fairly verbose with references and links, and some content (URLs, FV-status details) may be noise for an agent making a call decision, but the structure is logical and scannable. It earns high marks, not top marks due to length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic compute node with output schema present, the description covers dispatch, retention behavior, input expectations (synthetic data), and provenance export. It references the manifest for field names; an agent would need to fetch that to compose policy_parameters. It doesn't describe what result/artifact is returned or how to consume the execution_hash, but output schema may cover return values. Mostly complete with minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%—every parameter is described. The description adds meaning by explaining the default compute behavior across "auto", "server", "browser" and how gpu:true interacts with browser delegation. It also explains that policy_parameters are computed server-side conditionally and referenced to the manifest for field names. It doesn't fully explain how parent_hashes and parent_tool_ids combine, but the schema covers their purpose, so this is strong.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify a current compute node tool for an actuarial recompute in a ChainGraph. The verb 'recompute' plus 'MLA MAPR Actuarial' names a specific resource, and the line about deterministic OpenChainGraph compute node gives a concrete function. However, it does not explicitly distinguish itself from siblings such as recompute_best_execution, run_kernel_vm, or compute_mla_mapr. Also, the field names of the decision function are deferred to the manifest, which adds ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use compute:"auto" vs compute:"browser" and notes the role of gpu flags, which gives actionable selection guidance for one dimension. It also says the node is deterministic and uses synthetic/anonymised inputs only, an important usage constraint. But it does not mention when to use this tool rather than nearby recompute siblings (e.g., recompute_bordereau, run_chain), and gives no prerequisites for parent hashes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_payment_waterfallSecuritisation Payment Waterfall RecomputationARead-onlyIdempotentInspect
Securitisation Payment Waterfall Recomputation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-510-build-art5-diligence-evidence. Open at: https://ainumbers.co/chaingraph/art-509-recompute-payment-waterfall.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds substantial behavioral detail: inputs are processed transiently and not stored/logged/retained, synthetic inputs are recommended, it exports an AP2 artifact with execution_hash, and it provides FV-status verification. This goes well beyond the annotations and informs the agent of side effects, privacy, and output characteristics—excellent transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes redundant phrases like 'Deterministic OpenChainGraph compute node' twice. It packs in URLs, FV-status semantics, and detailed compute-mode behavior, some of which is peripheral to core usage. While it front-loads the purpose, the length and digressions (e.g., verification receipt details) detract from conciseness. It could be substantially trimmed without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 params, enum, nested object, no output schema), the description covers compute modes, data handling, output artifact, output feed, and verification method. It lacks a plain-language explanation of what 'payment waterfall' recomputation entails (e.g., what the algorithm does) and the exact structure of the policy_parameters beyond 'see manifest', but this might be acceptable since the schema points to the manifest. Overall, it is fairly complete for invocation but leaves some domain-specific ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) having a clear description. The tool description adds minimal extra parameter meaning beyond the schema, e.g., reiterating compute mode behavior. With high schema coverage, a baseline score of 3 is appropriate; the description does not significantly elaborate on parameter fields or expected formats beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool recomputes a securitisation payment waterfall, distinguishing it from other waterfall tools (e.g., compute_loan_servicing_waterfall_recompute, recompute_ccp_default_waterfall) via the 'Securitisation' qualifier. The verb 'recompute' and resource 'payment waterfall' are specific, and the title reinforces this. It also mentions it is a deterministic OpenChainGraph compute node, adding technical context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on compute modes (auto/server/browser) and notes that inputs are transient, but it does not explicitly state when to use this tool versus alternative waterfall recomputation tools. It mentions the output feeds into art-510-build-art5-diligence-evidence, hinting at usage context, but there are no direct exclusions or alternative names. The guidance is mostly about parameter selection, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_pe_waterfall_lpPE Distribution Waterfall LP-Side RecomputeBRead-onlyIdempotentInspect
PE Distribution Waterfall LP-Side Recompute: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-567-pe-waterfall-lp-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds behavioral details: it is deterministic, processes inputs transiently without storage or logging, and exports an AP2 artifact with an execution_hash for chain provenance. It also advises using synthetic/anonymized inputs. These are meaningful additions and no contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and repetitive. Phrases about compute modes, transient processing, and artifact export are repeated almost verbatim. The inclusion of templated URLs and long qualification sentences bloat the text without adding distinct value. A concise summary would be far more effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute behavior, artifact export, and security guidance, but lacks an explanation of the actual recompute logic or how the output artifact should be interpreted. Since there is no output schema, more details about the return value would be helpful. The description is adequate for an agent to invoke the tool, but not fully complete for understanding the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with full descriptions, including the compute enum and parent hash/tool ID arrays. The description does not add new meaning beyond what the schema provides; it repeats the compute mode explanation but does not elaborate on parameter relationships or constraints. With 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line clearly identify the tool as a recompute for PE Distribution Waterfall LP-Side, which is a specific and non-generic purpose. It is easily distinguished from other recompute tools in the sibling list by its subject matter. However, the description spends more space on compute binding details than on explaining the underlying domain logic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It mentions compute mode behavior and transient processing, but does not compare to other recompute tools or explain the conditions under which this tool is the appropriate choice. Sibling tools vary widely, and this description does not steer the agent toward or away from any of them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_section16b_profitSection 16(b) Short-Swing Profit RecomputationARead-onlyIdempotentInspect
Section 16(b) Short-Swing Profit Recomputation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-573-section16b-short-swing-profit-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, and non-destructive semantics, and the description adds substantial behavioral context: server-side vs browser delegation, transient processing with no retention or logging, AP2 artifact export with execution_hash, and offline FV-status verification. This goes well beyond the structured metadata and does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized and front-loaded with the most important compute-mode information, but it is dense and contains redundancy: the second sentence repeats 'OpenChainGraph compute node' from the first sentence. The long FV-status receipt explanation is also tangential to invoking the tool, making the text heavier than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and nested policy_parameters, the description covers invocation modes, data handling, artifact output, provenance, and verification path. It does not detail the AP2 artifact payload or the specific policy_parameters fields, but those are partially delegated to the schema and manifest; overall the description is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters at 100% coverage, so the description does not need to re-document them. It restates compute mode semantics but adds no meaningful detail about parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema and manifest pointer already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify a Section 16(b) short-swing profit recomputation and an OpenChainGraph compute node, which clearly targets a specific domain and operation. However, the description does not say what the recomputation actually computes beyond exporting an AP2 artifact, and it gives no distinguishing detail against the many other recompute_* sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete compute-mode guidance (auto vs browser vs gpu:true) and a 'use synthetic inputs only' constraint, but it never says when to choose this tool over alternative recompute or analysis tools. No alternatives are named and no exclusion conditions are stated, so tool-selection guidance is largely missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_stablecoin_reserve_3sourceStablecoin Reserve 3-Source RecomputeARead-onlyIdempotentInspect
Stablecoin Reserve 3-Source Recompute: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-603-stablecoin-reserve-3source-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| wam | No | |
| leg_a | No | |
| leg_b | No | |
| leg_c | No | |
| not_proven | No | |
| reconciles | No | |
| reserve_ratio | No | |
| as_of_skew_pairs | No | |
| determination_note | No | |
| regulatory_framework | No | |
| overall_determination | No | |
| provisional_nprm_detail | No | |
| genius_eligible_holdings | No | |
| as_of_skew_threshold_days | No | |
| max_as_of_skew_days_global | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only, idempotent, and non-destructive annotations, the description discloses substantial behavior: deterministic execution, transient input processing with no storage or retention, Cloudflare Workers server-side execution, browser delegation for gpu:true nodes, and export of an AP2 artifact with execution_hash. It also explains that the FV-status receipt is a snapshot verifiable offline. This is rich, non-contradictory disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and mostly on-topic, but it begins with a redundant double classification as an OpenChainGraph compute node and the FV-status tail adds length. Given the complex behavior and four parameters, the size is defensible, but the redundancy and the trailing receipt explanation make it less crisp than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers execution modes, data handling, artifact export, chain provenance, compliance status, and compute parameter behavior, while the input and output schemas document parameter meanings and return values. It does not explain the domain meaning of '3-source' or list policy_parameters fields, but those are deferred to the schema and manifest and are not needed for invocation. Overall it is complete enough for correct selection and calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful semantics for the compute parameter by detailing auto, server, and browser behavior, including gpu:true delegation. The other parameters are not expanded in the description, but their schema entries already document them adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase name a specific operation, 'Stablecoin Reserve 3-Source Recompute', and identify it as an OpenChainGraph compute node, so the object and action are inferable. However, the description never states in a full sentence what the tool actually computes, and it does not differentiate from sibling recompute or simulation tools, stopping 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational usage constraints such as compute mode semantics and the directive to use synthetic or anonymised inputs only. It does not explain when to prefer this tool over siblings like simulate_stablecoin_reserve or compute_15c3_3_reserve, nor does it state exclusion conditions, so usage guidance 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.
recompute_stock_loan_rebate_feeStock-Loan Rebate/Fee RecomputeARead-onlyIdempotentInspect
Stock-Loan Rebate/Fee Recompute: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-579-stock-loan-rebate-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and non-destructive, which align with the description. The description adds valuable behavioral context: determinism, privacy (inputs not stored/logged/retained), and the requirement for synthetic inputs. It also discloses that it exports an AP2 artifact with execution_hash and provides a verification URL. This goes beyond annotations by detailing what the tool produces and its non-retention policy, which is significant for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, but it includes many technical details and URLs. It is not concise; every sentence adds information, but the structure could be improved by front-loading the core purpose and separating operational details. It reads like a spec dump rather than a focused definition, though it is not overly long relative to the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested policy_parameters object, compute modes) and the lack of an output schema, the description provides substantial context: it explains the compute binding, the transient processing, the AP2 artifact export, and provides links for more details (manifest, FV-status). The schema covers parameters, so the description addresses the non-parameter gaps like execution flow and verification. However, it doesn't detail the response shape beyond mentioning execution_hash, but the additional links and privacy statement seem sufficient 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters). The description adds some context by explaining compute mode behavior and the purpose of parent_hashes for chaining, but it doesn't significantly enhance meaning beyond the schema. For instance, policy_parameters is described as 'Input parameters for this tool's decision function' but the description only references the manifest without additional detail. Baseline 3 is appropriate since the schema covers all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool recomputes stock-loan rebate/fee amounts as a deterministic OpenChainGraph compute node. However, it doesn't explicitly distinguish itself from the many sibling recompute_* tools, relying on the title for context. The verb 'recompute' plus resource 'stock-loan rebate/fee' is specific enough for basic differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the compute modes (auto, server, browser) and when each is used (e.g., 'browser' returns a delegation URL, gpu:true always delegates), which serves as usage guidance for selecting execution mode. It mentions 'Use synthetic or anonymised inputs only' as a usage constraint. However, it doesn't explicitly contrast with alternative tools or specify when to use this tool vs. others, but the context of OpenChainGraph compute is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_tmpg_fails_chargeTMPG Fails-Charge RecomputeBRead-onlyIdempotentInspect
TMPG Fails-Charge Recompute: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-575-tmpg-fails-charge-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This is a strong disclosure. It explicitly states the node is deterministic, that inputs are processed transiently and 'not stored, logged, or retained', that browser mode returns a delegation URL, that gpu:true nodes always delegate, and that an AP2 artifact with execution_hash is exported. It also discloses the FV-status receipt is a snapshot, not a subscription. These traits go well beyond the readOnly/idempotent annotations and materially help an agent anticipate side effects and safety characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most important execution facts, but it is verbose and repetitive, saying 'OpenChainGraph compute node' twice and including a long tail of URL and FV-status receipt metadata that is unlikely to help tool selection or invocation. Several sentences could be trimmed or moved to a manifest without losing agent-critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations and 100% schema coverage, the description adds the key missing context: deterministic behavior, server vs browser execution semantics, transience, privacy constraints, and artifact export. It stops short of explaining the domain meaning of TMPG fails-charge or the expected shape of policy_parameters, but the schema and manifest reference cover much of that. Overall it is reasonably complete for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some execution-context meaning around compute modes and reinforces the synthetic/anonymized input constraint, but it does not meaningfully expand on parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema provides. This meets the high-coverage baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as 'TMPG Fails-Charge Recompute' and an 'OpenChainGraph compute node (compliance_control)', which points at the domain but never states in plain terms what a TMPG fails-charge recompute actually does or calculates. It gives execution architecture and output behavior, but the core purpose remains implied rather than explicitly described, and it does not differentiate itself from the many other recompute_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance such as compute:'auto' defaulting to server-side execution, compute:'browser' forcing client-side delegation, and 'Use synthetic or anonymised inputs only'. It does not, however, say when this tool should be chosen over related recompute or verification tools, nor does it specify any conditions that would make an alternative more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_trustee_report_waterfallSecuritization Trustee-Report Waterfall RecomputationCRead-onlyIdempotentInspect
Securitization Trustee-Report Waterfall Recomputation: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-568-securitization-trustee-report-recompute.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false. The description adds meaningful context: it states inputs are processed transiently and not stored, recommends using synthetic data, explains compute modes (server vs browser delegation), and mentions the AP2 artifact with execution_hash for provenance. This goes beyond annotations and provides useful operational guidance. No contradiction with annotations since readOnly means no storage/mutation of inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes embedded URLs, FV-status receipt details, and redundant phrases like 'Deterministic OpenChainGraph compute node' repeated. It mixes operational details (compute modes, browser delegation, transient processing) with artifact provenance specifics, making it harder to scan. The critical purpose and usage guidance are buried among secondary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 4 parameters, the description covers compute modes and artifact export, but lacks a clear statement of what the waterfall recomputation does (e.g., what inputs like policy_parameters contain, what the response structure is beyond being an AP2 artifact). The FV-status URL and open link are useful but not central. It does not explain how parent_hashes and parent_tool_ids chain together beyond schema descriptions. It is moderately complete for a deterministic compute node but leaves key decision-function details unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds some value by clarifying the compute modes and the transient processing, but it does not explain the policy_parameters fields (deferred to 'tool's manifest') and does not elaborate on parent_hashes beyond what the schema says. Baseline 3 applies given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title clearly states the tool recomputes a securitization trustee-report waterfall, and the description identifies it as an OpenChainGraph compute node. However, the description focuses heavily on compute modes and execution environment details rather than precisely defining what the waterfall recomputation does, what inputs it requires, or what output it produces. It is distinguishable from siblings by name but not by detailed behavioral specifics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions compute modes (auto/browser) and that it exports an AP2 artifact, but does not clearly state when to use this tool versus alternatives like compute_loan_servicing_waterfall_recompute or recompute_payment_waterfall. No explicit exclusions or alternative recommendations. The context is implied through 'trustee-report waterfall' phrasing only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_x402_eip712_digestx402 EIP-712 Digest RecomputerARead-onlyIdempotentInspect
x402 EIP-712 Digest Recomputer: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-591-x402-signer-recovery-verifier. Open at: https://ainumbers.co/chaingraph/art-590-x402-eip712-digest-recomputer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| digest | No | |
| domain | No | |
| reasons | No | |
| verdict | No | |
| scope_note | No | |
| struct_hash | No | |
| authorization | No | |
| domain_typehash | No | |
| domain_separator | No | |
| transfer_with_authorization_typehash | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description adds substantial behavioral detail: deterministic execution, transient processing with no storage/logging/retention, server-side vs browser delegation behavior, and AP2 artifact export with execution_hash. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Key information is front-loaded and dense, but the description repeats 'OpenChainGraph compute node' and appends the Open-at URL and FV-status receipt details, which are peripheral to selecting or invoking the tool. It is useful but somewhat over-padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage, an output schema, and strong annotations, the description covers compute routing, data handling, artifact output, and downstream feed sufficiently for invocation. It does not need to explain return values because the output schema already exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 prose adds meaningful semantics for the 'compute' parameter, including Cloudflare Workers server-side execution, registered-kernel conditions, and gpu:true browser delegation, which goes beyond the schema's enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node that recomputes the x402 EIP-712 digest and exports an AP2 artifact, with a specific downstream consumer (art-591-x402-signer-recovery-verifier). It does not explicitly contrast itself with sibling tools such as verify_x402_signer_recovery, so it stops short of the clearest possible differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a verification-pipeline role through its output feed and explains compute-mode routing in detail, but it never states when to choose this tool over an alternative. 'Use synthetic or anonymised inputs only' is a useful constraint but not a tool-selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_aml_lookback_completenessAML Lookback Completeness ReconcilerARead-onlyIdempotentInspect
AML Lookback Completeness Reconciler: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-470-lookback-completeness-reconciler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false. The description adds meaningful context: inputs processed transiently, not stored/logged/retained, and the need for synthetic inputs. It also mentions compute delegation behavior for browser mode. This is useful transparency beyond annotations. Note: the description doesn't contradict annotations—it reinforces read-only/idempotent behavior. Minor gap: no explicit error behavior or response format, but the AP2 artifact description helps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One long paragraph but packed with essential operational details (compute modes, data handling, artifact export, FV-status link). The URL for the artifact and the FV-status receipt are arguably extra but useful for provenance. It's front-loaded with the tool identity, though the paragraph is dense and could be broken up for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with 0 required params and a clear output (AP2 artifact), the description covers operational mechanics. The context about server-side computation, browser delegation, and data handling is complete. Missing: what the actual reconciliation output looks like (beyond artifact), and how it integrates with other AML tools. But given complexity and the presence of schema, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented. The description doesn't add much beyond the schema—it references 'compute' modes and mentions policy_parameters but doesn't explain what those parameters do. parent_hashes and parent_tool_ids are described in schema as chaining inputs; the description indirectly mentions 'sets chain.parent_hashes'. Given full schema coverage, baseline 3 is appropriate; description adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title clearly indicate this is a reconciliation tool for AML lookback completeness. The description identifies it as an OpenChainGraph compute node under compliance_control, which adds domain context. However, it doesn't explicitly state what 'reconcile' checks or produces beyond an AP2 artifact. Compared to siblings like 'roll_up_aml_lookback_disposition' or 'plan_aml_disposition_sample', the purpose is discernible but the exact scope (what counts as 'complete') isn't specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and explicitly states inputs should be synthetic or anonymised, which is useful usage guidance. It also mentions the artifact export and FV-status link. However, it doesn't clarify when to choose this tool over related AML tools (e.g., roll_up_aml_lookback_disposition, score_aml_typologies, plan_aml_disposition_sample). The tool's role in a reconciliation workflow isn't contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_commission_statementCommission Statement ReconcilerARead-onlyIdempotentInspect
Commission Statement Reconciler: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-264-validate-commission-hierarchy. Output feeds: art-265-amortize-asc606-commissions. Open at: https://ainumbers.co/chaingraph/art-266-reconcile-commission-statement.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent behavior, and the description adds meaningful detail: determinism, transient processing with no storage/logging/retention, browser delegation for gpu:true nodes, artifact export with execution_hash, and provenance links. This gives an agent a much richer behavioral model than 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information is front-loaded and mostly relevant, but 'OpenChainGraph compute node' appears twice, and the long FV-status receipt explanation is tangential to invoking the tool. The description is dense but not perfectly economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description names the artifact type (AP2), the execution_hash, upstream/downstream dependencies, compute behavior, and privacy guarantees. It is not fully self-contained because policy_parameters fields are deferred to an external manifest, but the provided context is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mild value by explaining that policy_parameters may be computed server-side and pointing to the manifest for field names, but it does not enumerate those fields or clarify relationships among parent_hashes and parent_tool_ids beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool's resource is explicit — commission statements — and its position in an artifact chain is specified via upstream (art-264-validate-commission-hierarchy) and downstream (art-265-amortize-asc606-commissions) references. However, the description never actually states what reconciliation entails beyond the title, relying on the name to carry the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete guidance on compute modes and browser delegation, and warns to use synthetic or anonymised inputs only. It does not, however, explain when to choose this tool over alternative reconcile_* siblings or describe any prerequisites for calling it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_emir_pairingEMIR Counterparty Pairing ReconcilerARead-onlyIdempotentInspect
EMIR Counterparty Pairing Reconciler: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-157-emir-lifecycle-event-validator. Open at: https://ainumbers.co/chaingraph/art-156-emir-counterparty-pairing-reconciler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses data handling (transient, not stored), compute behavior (server vs browser delegation), and chains to upstream artifacts, adding value beyond annotations. The annotations declare readOnlyHint, idempotentHint, and destructiveHint false, which align with the described non-persistent processing. No contradiction noted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured, front-loading the core purpose and then detailing compute modes and data handling. It includes a URL and verification link which are useful but could be considered extra. It avoids redundancy and maintains focus on key attributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description offers enough context: compute behavior, input privacy, chaining, and downstream feed. It lacks specific return value details but the context is sufficient for an agent to invoke without confusion. The complexity is moderate, and the description covers the essential aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters with 100% coverage at the property levelaine. The description adds context about the purpose of policy_parameters (decision function inputs) and compute modes but doesn't detail field-level semantics. However, since schema coverage is high, baseline 3 is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an EMIR Counterparty Pairing Reconciler, which is clear about its domain and function. However, it doesn't explicitly state the action of reconciling or what pairings are checked, relying on the title. It distinguishes itself from siblings by mentioning it's a compute node for a specific compliance mandate, but the exact reconciliation logic remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and the environment (Cloudflare Workers, browser delegation) but does not provide explicit guidance on when to use this tool versus alternatives like 'adjudicate_emir_reconciliation' or 'reconcile_aml_lookback_completeness'. It implies usage context (compliance) but lacks explicit when/when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_erc8056_multiplierERC-8056 Multiplier ReconcilerCRead-onlyIdempotentInspect
ERC-8056 Multiplier Reconciler: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-317-rhc-multiplier-reconciler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already showing read-only, idempotent, and non-destructive hints, the description adds meaningful behavior: 'Inputs are processed transiently... are not stored, logged, or retained,' the compute delegation modes, deterministic behavior, and 'Exports an AP2 artifact with execution_hash for chain provenance.' These give an agent a clear picture of side effects and operational characteristics beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that includes a URL and an FV-status JSON path with a lengthy explanation ('a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched'). This extraneous detail buries the compute-mode explanation and transient-processing note. It isn't concisely front-loaded; the first sentence merely restates the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description never clarifies the domain ('multiplier reconciler'), the decision function referenced by policy_parameters, or what the AP2 artifact actually contains beyond an execution_hash. With no output schema, an agent cannot know what to expect from the response. The compute-mode detail is present, but the core domain logic is a black box, making the description incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for all four parameters, including detailed enum explanations for compute. The description largely repeats the compute mode behavior (e.g., 'auto' server-side for gpu:false registered kernels) and does not add further meaning to parent_hashes, parent_tool_ids, or policy_parameters. It mentions 'collateral_mandate' but doesn't link it to any parameter, so it adds no new semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title state 'ERC-8056 Multiplier Reconciler' but the description defines it only as an 'OpenChainGraph compute node (collateral_mandate)' and a 'deterministic OpenChainGraph compute node.' It never explains what it reconciles, what a multiplier reconciler does, or what the response represents. This is closer to a tautology than a clear purpose, as 'compute node' is generic and no domain behavior is described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when compute:"auto" vs "browser" are used, and that gpu:true nodes always delegate to the browser. However, it doesn't specify when an agent should choose this tool over any sibling, nor does it mention alternatives. The instruction 'Use synthetic or anonymised inputs only' is a data-handling guideline, not a tool-selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_mpp_subscriptionTempo Subscription & Streaming Settlement ReconcilerARead-onlyIdempotentInspect
Tempo Subscription & Streaming Settlement Reconciler: OpenChainGraph compute node (settlement_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-36-tempo-mpp-agent-mandate. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-106-tempo-subscription-reconciler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description discloses that inputs are processed transiently and not stored, logged, or retained, that the node is deterministic, and that compute mode affects whether execution happens server-side or returns a browser delegation URL. It also details artifact export, upstream/downstream dependencies, and offline-verifiable FV-status snapshots.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but mostly purposeful, front-loading the tool's identity and compute-node role before covering execution modes, data handling, and provenance. Minor redundancy exists in the repeated 'OpenChainGraph compute node' phrasing, but overall each major fact earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of an output schema, the description provides valuable context about deterministic execution, transient input handling, AP2 artifact output with execution_hash, upstream/downstream artifacts, and a verifiable FV-status URL. The main gap is that policy_parameters field names are not specified in either the description or schema, only deferred to an external manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already well documented in the input schema. The main description mostly repeats compute-mode semantics and adds no new field-level meaning, and policy_parameters still defers field names to an external manifest rather than explaining them here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a Tempo Subscription & Streaming Settlement Reconciler and an OpenChainGraph compute node with a settlement_mandate. It names a specific resource and function, though it lacks an explicit action sentence like 'reconciles X by computing Y' and does not distinguish itself from sibling reconciliation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical usage constraints, such as using synthetic or anonymised inputs only and explaining compute mode selection ('auto', 'server', 'browser'). However, it never states when to use this tool versus alternative reconciliation or settlement tools in the large sibling list, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_report_to_general_ledgerReport-to-General-Ledger ReconciliationBRead-onlyIdempotentInspect
Report-to-General-Ledger Reconciliation: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-526-report-gl-reconciliation.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| as_of | No | |
| accounts | No | |
| currency | No | |
| decision | No | |
| gl_as_of | No | |
| gl_closed | No | |
| rationale | No | |
| account_count | No | |
| cadence_refused | No | |
| rejected_inputs | No | |
| schedule_cadence | No | |
| reporting_cadence | No | |
| gl_closed_declared | No | |
| plugged_account_count | No | |
| breaking_account_count | No | |
| appendix_schedule_source | No | |
| appendix_schedule_version | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly, idempotent, and non-destructive annotations, the description discloses deterministic execution, transient processing with no storage/logging/retention, browser-delegation behavior, AP2 artifact export with execution_hash, and offline-verifiable FV-status. This is rich, accurate behavioral context and is consistent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive: 'OpenChainGraph compute node' appears twice, and the URL and FV-status receipt details are tangential to invoking the tool. It is not front-loaded around a one-sentence functional statement and would be easier to consume if the compute-mode and privacy facts were grouped more tightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers compute modes, privacy, and provenance, but never explains the actual reconciliation semantics or the required contents of policy_parameters. With zero required parameters and an open-ended policy_parameters object, an agent cannot confidently determine what inputs to supply without consulting an external manifest. For a domain-specific reconciliation tool, this is a significant completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds little parameter-level meaning beyond restating compute-mode behavior and does not define what policy_parameters should contain, deferring instead to a tool manifest. The schema carries the parameter documentation, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is dominated by the title phrase 'Report-to-General-Ledger Reconciliation' and generic 'OpenChainGraph compute node' labels rather than a specific verb statement of what the tool computes or compares. The domain is evident from the name, but the description itself does not explain the actual reconciliation operation. This is a vague purpose statement, not a tautology, because it does add compute-node and attestation-mandate context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete execution-mode guidance: compute 'auto' defaults to server-side, 'browser' forces client-side delegation, and gpu:true nodes always delegate. It also warns to use synthetic or anonymised inputs only. However, it never says when to choose this reconciliation tool over sibling reconciliation tools, and no preconditions for a report-to-GL reconciliation are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_sii_ifrs17SII-IFRS 17 Reconciliation BridgerBRead-onlyIdempotentInspect
SII-IFRS 17 Reconciliation Bridger: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-180-solvency2-scr-ratio-calculator. Output feeds: art-182-insurance-reporting-readiness-diagnostic. Open at: https://ainumbers.co/chaingraph/art-181-sii-ifrs17-reconciliation-bridger.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. The description adds significant transparency beyond this: compute binding behavior (auto/server/browser, gpu:true/false), transient processing (not stored/logged/retained), determinism, and a requirement to use synthetic/anonymised inputs. These are non-obvious and useful for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph with multiple topics: compute modes, data handling, provenance, chain relationships, a URL, and FV-status. While each sentence carries information, it is not well structured and includes tangential details (e.g., FV-status receipt) that may distract from invocation. It is front-loaded with the title but could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers compute modes, transient data handling, chain provenance, and upstream/downstream artifacts. However, it lacks a concrete description of the output structure (beyond 'AP2 artifact with execution_hash') and refers to an external manifest for policy_parameters. For a tool with nested objects and no output schema, more detail would be needed for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 4 parameters with 100% description coverage. The description augments this by explaining the compute parameter's behavior in detail and linking parent_hashes to upstream artifacts (art-180). For policy_parameters, it references the tool's manifest, which is a minor gap but adds context. Overall, the description adds meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title indicates reconciliation between SII and IFRS17, and the description positions it as an OpenChainGraph compute node. However, the description focuses on computational mechanics (compute modes, transient processing, provenance) rather than on what the reconciliation actually does or what inputs/outputs mean in business terms. It is clear it's a compute node in a chain, but the core reconciliation logic is opaque.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides chain context (consumes from art-180-solvency2-scr-ratio-calculator, feeds art-182-insurance-reporting-readiness-diagnostic) but does not explicitly state when to use this tool vs alternatives, nor does it give conditions or exclusions. There is no mention of sibling tools or decision rules for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reconcile_x402_batch_settlementx402 V2 Batch-Settlement ReconcilerCRead-onlyIdempotentInspect
x402 V2 Batch-Settlement Reconciler: OpenChainGraph compute node (settlement_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-60-agent-economy-runtime-fit-diagnostic. Output feeds: cry-04-merkle-batch-verifier, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-61-x402-batch-settlement-reconciler.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent, non-destructive), the description adds meaningful behavioral details: it is deterministic, processes inputs transiently without logging/storage, and specifies compute modes (server-side on Cloudflare Workers, browser delegation, gpu:true always delegates). It also notes the requirement to use synthetic or anonymised inputs, which is a behavioral constraint. These go beyond the annotations, though some repetitive phrasing weakens clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating phrases like 'Deterministic OpenChainGraph compute node' and re-explaining compute modes. Boilerplate about Cloudflare Workers and browser delegation is duplicated, making the text longer than needed. The structure is a single dense paragraph without clear separation of concerns, reducing readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits essential context: it does not specify the output format (other than mentioning an AP2 artifact with execution_hash) or explain how inputs map to outputs. No examples or edge cases are provided. Given the tool's apparent role in a chain (consuming parent artifacts, feeding downstream verifiers), the lack of a concrete reconciliation semantics leaves the operational context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions are comprehensive (100% coverage) and add context: compute enum is explained, parent_hashes are execution_hash values from upstream artifacts, parent_tool_ids match in order, and policy_parameters are input parameters for the decision function. However, policy_parameters lacks specific field names (deferred to a manifest), which is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'x402 V2 Batch-Settlement Reconciler' but does not clearly explain what 'reconcile' means in this context. It describes generic compute-node mechanics (compute modes, chaining) without stating the specific reconciliation logic or inputs-to-output relationship, leaving the actual purpose ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not indicate when to use this tool versus the many sibling reconciliation tools (e.g., reconcile_emir_pairing, reconcile_commission_statement). No decision criteria or exclusions are provided, making it unclear under what circumstances this specific reconciler is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recon_matchMatch a camt.053 statement against a counterpart expectation setARead-onlyIdempotentInspect
Parses a camt.053.001 statement (same schema-subset checks as camt053_parse) and a counterpart expectation set (CSV, header EndToEndId,Amount,Currency,Date -- same strict RFC 4180 parser as the WORKBOOK-1 CSV tools), then runs the SAME deterministic match engine as the tools/565 browser workbench: EndToEndId exact match first (statement order), then amount+date tolerance + currency match (first unmatched expectation in CSV order). Returns matches, exceptions (unmatched entries/expectations), and a reconciliation receipt (statement digest, expectation-set digest, match-rule declaration, counts, exception digests, execution_hash) -- byte-identical to the browser tool for the same inputs. Prepare/hash/receipt only; per-exception disposition receipts are the browser workbench's interactive follow-on.
| Name | Required | Description | Default |
|---|---|---|---|
| statement_xml | Yes | camt.053.001 XML statement document text. | |
| amount_tolerance | No | Absolute amount-match tolerance (default 0.01). | |
| expectations_csv | Yes | Counterpart expectations, CSV with header EndToEndId,Amount,Currency,Date. | |
| date_tolerance_days | No | Date-match tolerance in days (default 0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, destructiveHint=false. The description reinforces idempotency and non-destructiveness by stating it is 'byte-identical' and 'prepare/hash/receipt only'. It adds context about the matching engine being 'deterministic' and the output being a receipt with an execution hash, which goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the core action. It is somewhat verbose but each sentence adds value (input formats, matching algorithm, output structure). Could be slightly more concise, but it is well-structured and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (two inputs, specific matching rules, detailed output), the description covers all necessary aspects: input format constraints, matching order (EndToEndId exact then amount+date tolerance+currency), output components (matches, exceptions, receipt with digest and execution hash). Without an output schema, the description effectively explains return values, making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 4 parameters. The description adds extra context: for expectations_csv it mentions 'same strict RFC 4180 parser as the WORKBOOK-1 CSV tools', and for amount_tolerance it states 'default 0.01' (also in schema description). For statement_xml and date_tolerance_days, the description adds minimal additional value. Since schema already covers basics, the description provides modest extra semantics, warranting a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool parses two inputs (camt.053 statement and CSV expectations), runs a deterministic match engine, and returns matches, exceptions, and a reconciliation receipt. It distinguishes itself from siblings like 'camt053_parse' (only parses) and 'match_confirmations' (different matching).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that this tool is for initial reconciliation (prepare/hash/receipt only) and that per-exception disposition is handled by the browser workbench. It provides context on when to use it but does not explicitly exclude alternatives or mention 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.
record_fund_positionsRecord Fund PositionsARead-onlyIdempotentInspect
Record Fund Positions: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-558-record-fund-positions.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false): it discloses that inputs are processed transiently and are not stored, logged, or retained, explicitly instructs the user to provide synthetic/anonymised data, and states that it exports an AP2 artifact with execution_hash for chain provenance. This determinism/provenance context is genuinely additive and consistent with the annotations — 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The meaning is front-loaded and the most valuable facts (compute behavior, transient processing, synthetic-only inputs) come early. But the description is long and contains redundancy — 'OpenChainGraph compute node' appears twice in the first two sentences — and the tail (URL link plus FV-status JSON path with offline-verification explanation) is tangential detail that an agent does not need to invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description does carry the burden of explaining return values, and it does so — noting the AP2 artifact export and the browser delegation URL alternative. Compute modes, data-handling semantics, and privacy constraints are all covered. The one notable gap is policy_parameters, whose field names are deferred to an external manifest an agent may not have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds real value by explaining the semantic effect of the compute enum ('auto' is the default server path for gpu:false nodes; 'browser' returns a delegation URL) beyond the schema's one-line description. It references policy_parameters as being computed server-side, and defers field names to 'the tool's manifest,' which is a minor unexplained dependency. Overall it supplements the schema meaningfully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Record') and resource ('Fund Positions') and frames it as an OpenChainGraph compute node with attestation mandate and deterministic behavior. However, it fails to distinguish itself from sibling record_* tools such as record_index_constituents and record_model_input_lineage — an agent cannot tell why this tool, not those, is the right choice. It largely restates the title in the first two sentences before adding distinctive detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives rich guidance on the compute parameter — explaining that compute:'auto' runs server-side on Cloudflare Workers for gpu:false nodes with a registered kernel, compute:'browser' forces client-side delegation, and gpu:true nodes always delegate. It also warns to use synthetic or anonymised inputs only. But it offers no explicit when-to-use vs alternatives or exclusions relative to the record_* sibling family, leaving the agent to infer this tool's unique triggering condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_index_constituentsRecord Index ConstituentsARead-onlyIdempotentInspect
Record Index Constituents: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-557-record-index-constituents.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds substantial non-obvious details: deterministic execution, transient input handling with no storage/logging/retention, server-side vs browser-delegation differences, gpu:true delegation, and the AP2 artifact with execution_hash. It also clarifies that the FV-status link is a snapshot rather than a live subscription, which is exactly the kind of behavior an agent needs to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening two sentences repeat 'OpenChainGraph compute node' and the title, wasting the first opportunity to explain the action. The compute, privacy, and provenance details are valuable, but the FV-status receipt and URL content push the description toward boilerplate length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description does enough by stating the AP2 artifact with execution_hash as the output and the browser delegation URL as the browser-mode result. It covers execution modes, privacy constraints, and provenance verification, though it remains somewhat thin on the exact response shape and the policy_parameters manifest reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, setting a baseline of 3. The description adds compute-mode semantics that enrich the compute parameter but adds nothing about parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema states. No deduction is warranted, but the description does not meaningfully compensate for any schema gaps because there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description centers on 'OpenChainGraph compute node (attestation_mandate)' and deterministic execution, and it mentions the AP2 artifact output, but it never plainly states that the tool records index constituents or what 'index constituents' means. The core action is left largely to inference from the tool name, and it doesn't distinguish the tool from siblings like record_index_correction or compute_index_weights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides useful operational context on compute modes (auto vs browser) and warns to use synthetic or anonymised inputs, which helps an agent invoke it correctly. However, it never states when to prefer this tool over an alternative or when not to use it. The usage context is implied by 'OpenChainGraph compute node' rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_index_correctionRecord Index CorrectionBRead-onlyIdempotentInspect
Record Index Correction: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-647-record-index-correction.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds crucial behavioral context: deterministic execution, transient processing with no data retention, the safety warning to use synthetic inputs only, and the execution_hash for chain provenance. It also explains compute mode delegation semantics. This is strong supplementary disclosure beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous elements like a URL and a verification path that are not directly actionable. The key behavioral details are buried in the middle. It could be tightened: a one-line purpose plus compute-mode explanation would suffice. The safety warning is important but the provenance receipt details are excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested policy_parameters, compute modes, chain provenance) and no output schema, the description covers the compute selection and data handling. However, it lacks clarity on the actual decision function's inputs/outputs, error scenarios, and how the execution_hash is used downstream. The manifest reference for policy_parameters is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are already documented with descriptions. The description adds value by explaining the compute parameter's default behavior and parent_hashes chaining concept, but it doesn't detail the policy_parameters fields (referring to a manifest instead). Since schema already covers the basics, this is adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node for record index correction and mentions its deterministic nature. However, it does not clearly state what specific correction is performed or what the output represents. The name and title are repeated ('Record Index Correction'), and the description veers into compute-mode details rather than the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and the gpu:true rule, but it does not state when this tool should be used versus alternatives. Sibling tools like 'record_index_constituents' or 'record_fund_positions' suggest related functionality, yet no differentiation is provided. The description also lacks context on typical input scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_model_input_lineageRecord Model Input LineageBRead-onlyIdempotentInspect
Record Model Input Lineage: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-451-model-outcome-analysis, art-488-model-replication-diff. Output feeds: art-562-compile-model-risk-lineage-pack. Open at: https://ainumbers.co/chaingraph/art-648-record-model-input-lineage.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent), the description discloses specific behaviors: inputs are transiently processed and not stored, deterministic execution, gpu:true nodes delegate to browser, and compute modes return delegation URLs. This adds valuable behavioral information beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive, repeating 'OpenChainGraph compute node' and 'Deterministic', and includes redundant URLs and status endpoints. It lacks clear structure and reads as a run-on, making it hard to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the schema fully covers parameters and the description provides some context about chain provenance and AP2 artifacts, there is no description of the output format or response structure. The absence of an output schema is not compensated for, leaving some ambiguity about what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with detailed descriptions for each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters). The tool description adds little extra parameter meaning, but the schema already provides adequate semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it records model input lineage in an OpenChainGraph compute node, exports an AP2 artifact with execution_hash, and consumes/produces specific artifacts. However, it is cluttered with compute mode details and URLs that dilute the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like compile_model_risk_lineage_pack or build_model_inventory_entry. The description focuses on compute modes and infrastructure rather than usage scenarios or criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redline_diffDiff an original vs. proposed revision and mint a diff receiptARead-onlyIdempotentInspect
An agent proposes an edit: diffs original text/markdown against its own revised version and returns the line-level hunks plus a diff receipt (original/revised digests, diff-algorithm declaration, per-hunk digests). Byte-identical to what the tools/552 browser workbench computes for the same inputs -- a human can paste the SAME original/revised text into that workbench, disposition each hunk (accept/reject/comment), and their resulting hunk/disposition receipts will reference this diff_receipt's execution_hash. Pass the whole bundle (this diff_receipt + the human's hunk_receipts + disposition_receipt) to redline_verify to check the interleaved chain end-to-end.
| Name | Required | Description | Default |
|---|---|---|---|
| revised | Yes | Proposed revised text or markdown document. | |
| original | Yes | Original text or markdown document. | |
| generated_at | No | ISO 8601 timestamp (caller-supplied for determinism). Defaults to the call time. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds valuable context: byte-identical behavior with a workbench, deterministic execution_hash, and interleaved receipt chain. This goes beyond what annotations provide, though it omits potential error handling or authorization detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently conveys key points without redundancy. While not overly verbose, it could be slightly better organized by separating the workflow instructions from the behavior note. Still, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and moderate complexity, the description explains the output format, interop with a workbench, and the receipt chain. It does not address error conditions or detailed field descriptions, but it is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description does not add new parameter-level semantics but provides overall context. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's action (diff), the resources (original vs revised text/markdown), and the output (line-level hunks and diff receipt). It also distinguishes itself from the sibling tool `redline_verify` by explicitly stating the downstream use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the tool's purpose for proposing an edit and explains the next step with `redline_verify`. While it does not list explicit exclusion criteria, the context is clear and relevant for an AI agent to understand when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redline_verifyVerify a redline receipt bundle against the original + revised textARead-onlyIdempotentInspect
Recomputes a redline review from scratch: the diff (from the pasted original+revised text), the diff_receipt's execution_hash, every hunk_receipt's digest/execution_hash/chain-link (in the order supplied -- entries may be minted by an agent, a human, or both interleaved), the disposition_receipt's execution_hash, and the accepted-text digest. Returns valid:true/false, a per-check breakdown, and broken_hunk (the zero-based index of the first divergence, or null) -- never trusts a bundle claim without checking it against a fresh recomputation.
| Name | Required | Description | Default |
|---|---|---|---|
| bundle | Yes | The redline receipt bundle to verify. | |
| revised | Yes | Revised text or markdown document. | |
| original | Yes | Original text or markdown document. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, which are consistent with the description. The description adds substantial detail on what gets recomputed and what the output contains, going well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with the main action front-loaded. It lists specific checks and return values. While somewhat lengthy, every sentence adds useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully explains return values (valid, per-check breakdown, broken_hunk) and the verification process. It covers all necessary aspects for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds value by explaining the bundle structure, order of hunk_receipts, and possibilities for agent/human interleaving, which aids understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it recomputes a redline review from scratch and lists the components it verifies. It distinguishes itself from the sibling tool 'redline_diff' by focusing on verification of a bundle rather than generating the diff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the tool verifies a redline receipt bundle and never trusts a bundle claim. It implies when to use (to verify) but does not explicitly state when not to use or mention alternatives. However, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_mra_remediation_closureConsent-Order / MRA Remediation Closure RegisterARead-onlyIdempotentInspect
Consent-Order / MRA Remediation Closure Register: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-533-mra-remediation-closure-register.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, compute modes determine execution location, and it exports an AP2 artifact with execution_hash. It also mentions the FV-status receipt is a snapshot, not a subscription. This goes beyond annotations by explaining data handling and execution behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the purpose, but it includes a lot of technical jargon (OpenChainGraph compute node, attestation_mandate, AP2 artifact) that may not be immediately useful. The URL and FV-status receipt details are important but could be considered secondary. It's structured with the core purpose first, then compute modes, then data handling, then artifact details. It's not overly long but could be more concise by trimming redundant phrases like 'Deterministic OpenChainGraph compute node' repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, compute modes, chain provenance), the description covers the key aspects: what it does, how compute works, data handling, artifact output, and verification receipt. It doesn't have an output schema, so the description's mention of AP2 artifact with execution_hash is helpful. It could mention what the response looks like for browser delegation, but overall it's fairly complete 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.
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 parameters. The description adds context about policy_parameters being computed server-side for gpu:false nodes, and mentions the manifest for field names. However, it doesn't add much beyond the schema for parent_hashes and parent_tool_ids. The compute parameter is well-documented in both. Baseline 3 is appropriate since schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'register' a 'Consent-Order / MRA Remediation Closure' as an OpenChainGraph compute node. It distinguishes itself from siblings by naming the specific domain (Consent-Order / MRA remediation closure) and the artifact type (AP2 artifact with execution_hash). However, it doesn't explicitly contrast with sibling tools like track_fatca_crs_ro_remediation_closure or other register_* tools, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when each is used, which is a form of usage guidance. It also warns to use synthetic or anonymised inputs only. However, it doesn't explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or context for when this registration is needed. The guidance is implied through the domain name but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_source_arrival_freshnessSource Arrival & Freshness RegisterCRead-onlyIdempotentInspect
Source Arrival & Freshness Register: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-524-source-arrival-freshness-register.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | No | |
| sources | No | |
| decision | No | |
| source_count | No | |
| execution_state | No | |
| missing_sources | No | |
| late_or_stale_sources | No | |
| unknown_freshness_sources | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds meaningful behavioral details: inputs are processed transiently and not stored/logged/retained, synthetic/anonymised inputs are required, and it exports an AP2 artifact with execution_hash for chain provenance. This provides transparency about side effects and data handling that the annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and over-explains technical implementation details (compute modes, delegation URLs, FV-status endpoints) that are secondary to the tool's purpose. It is not front-loaded with a clear statement of function; instead, the first few sentences are about compute defaults, pushing the actual purpose further down. The text is dense and could be simplified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about the tool's output semantics. It mentions 'exports an AP2 artifact' but does not explain what the artifact contains or how it relates to 'source arrival freshness.' The purpose is vague, and no details are provided about expected behavior, workflow integration, or what the tool returns, making it incomplete for an agent to effectively use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides comprehensive descriptions for all parameters (compute, parent_hashes, parent_tool_ids, policy_parameters), achieving 100% coverage. The tool description does not add significant meaning beyond what the schema already states; it reiterates compute modes but does not clarify the role of parameters like parent_hashes or policy_parameters further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Source Arrival & Freshness Register' and an 'OpenChainGraph compute node (compliance_control),' but does not clearly state what it does with the inputs or its core function. The emphasis on compute modes and provenance leaves the actual purpose ambiguous, so an agent cannot easily determine what this tool accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools, typical use cases, or conditions that would indicate this tool is preferred. The only usage-related info is about compute modes, which is not about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_supervisory_scenarioSupervisory Scenario Replay (DFAST-lite)ARead-onlyIdempotentInspect
Supervisory Scenario Replay (DFAST-lite): OpenChainGraph compute node (capital_assessment). Regulatory deadline: 2027-02-01 (Annual re-pin — Fed publishes new supervisory scenarios each February). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: sim-01-lcr-nsfr-liquidity-stress-test, sim-03-basel-rwa-scenario-modeler. Open at: https://ainumbers.co/chaingraph/art-370-supervisory-scenario-replay.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds substantial context beyond these: 'Inputs are processed transiently... not stored, logged, or retained', deterministic execution, browser-delegation behavior for gpu:true nodes, and the provenance export ('AP2 artifact with execution_hash'). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with core facts (verb, resource, deadline, determinism) and logically organized, but verbose. The browser URL and the extended FV-status receipt semantics ('a snapshot, not a subscription... verifies offline regardless of whether that file is ever fetched') are operational metadata that add noise for tool-selection purposes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Thorough for a complex compute-node with no output schema: covers compute routing, transient data handling, provenance chaining, regulatory deadline, downstream feeds, and verifiability. The main gap is that policy_parameters field names are only deferred to a manifest, and exact return shape beyond the AP2 artifact is unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 reinforces the compute parameter behavior (detailing auto/server/browser routing) and references the AP2 artifact that maps to parent_hashes, but it adds no per-parameter semantics beyond what the schema already documents; policy_parameters is deferred to a manifest in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('replays supervisory scenarios') on a specific resource ('OpenChainGraph compute node (capital_assessment)'), with a clear regulatory identity ('DFAST-lite', 'Annual re-pin — Fed publishes new supervisory scenarios each February'). It is clearly distinct from siblings like run_stress_test_scenarios or compute_stress_test_scenarios by being a deterministic replay with chain provenance and compute-mode routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains when each compute mode applies ('auto' server-side on Cloudflare Workers for gpu:false with registered kernel; 'browser' returns delegation URL; gpu:true always delegates) and imposes a hard input constraint ('Use synthetic or anonymised inputs only'). It does not explicitly name a sibling alternative for when NOT to use this tool, but the mode-routing guidance gives an agent clear call-time direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replicate_model_outputsModel Replication DiffARead-onlyIdempotentInspect
Model Replication Diff: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-488-model-replication-diff.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are 'processed transiently... not stored, logged, or retained' and that it exports an AP2 artifact with execution_hash. This is valuable privacy/retention behavior beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false). It also mentions the FV-status receipt is 'a snapshot, not a subscription... verifies offline regardless of whether that file is ever fetched'. It warns to 'Use synthetic or anonymised inputs only.' These are meaningful behavioral disclosures. However, it does not state what happens when compute is 'server' vs 'browser' in terms of response format beyond delegation URL, but the schema covers that. The description is consistent with annotations (readOnly, idempotent, non-destructive) — 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, packed with multiple topics: compute modes, transient processing, logging disclaimer, AP2 artifact, Open ChainGraph location, FV-status link. It front-loads the tool type and compute behavior, but the FV-status/receipt detail about offline verification and whether the file is fetched is extraneous for calling the tool — it's more about trust/metadata. The description mixes essential operational guidance with peripheral provenance/trust commentary, making it less concise than it could be. Some sentences are verbose (e.g., 'Deterministic OpenChainGraph compute node' repeated).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and involves a compute node with complex behavior (server-side vs browser, gpu flags, parent chaining), the description covers the key contextual aspects: how compute modes work, what happens to inputs, what artifact is exported, and where to open it. It also provides a verification status link. It could be clearer about the actual purpose of the diff (what is being replicated and compared), but for a compute with external manifest references, it is reasonably complete for an agent to invoke it correctly — though the agent would need the manifest for policy_parameters field names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter has a description. The description adds context on the compute parameter's runtime semantics (server-side kernel for gpu:false, browser delegation for gpu:true) which supplements the schema's enum description. For parent_hashes/parent_tool_ids, the schema already explains they set chain.parent_hashes in the export, so the description doesn't add much. policy_parameters is described as 'input parameters for this tool's decision function' but points to 'the tool's manifest' for field names, which is an external reference. Overall the description supplements the schema modestly, but the schema carries the weight. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Model Replication Diff' and states it is an 'OpenChainGraph compute node (compliance_control)' that computes a response. However, it never explicitly says what 'model replication diff' means — what input is being compared and what output is produced (beyond an AP2 artifact). The title and name hint at comparing model outputs, and the description mentions 'decision function' and 'execution_hash', but the core purpose remains ambiguous. It does distinguish from siblings like 'compare_model_outcome_analysis' by naming the OpenChainGraph compute node type, but the specific domain behavior is opaque.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear guidance on the compute parameter (auto/server/browser) and when to use browser vs server. It states 'By default (compute:"auto") inputs are computed server-side... compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser.' This is explicit operational guidance. It does not name sibling alternatives, but for a generic compute node the routing guidance is the relevant usage context. No explicit when-not-to-use, but the compute mode explanation effectively sets expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_cbam_default_valueCBAM Default-Value ResolverBRead-onlyIdempotentInspect
CBAM Default-Value Resolver: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-68-carbon-compliance-fit-diagnostic. Output feeds: art-69-cbam-embedded-emissions-calculator. Open at: https://ainumbers.co/chaingraph/art-70-cbam-default-value-resolver.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: determinism, server-side versus browser execution semantics, Cloudflare Workers, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and explicit upstream/downstream artifacts. This goes well beyond the readOnly, idempotent, and destructive hints and gives the agent a realistic model of what happens when it calls the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is crowded with operationally irrelevant provenance, file-verification, and receipt details ('FV-status ... a snapshot, not a subscription; this receipt verifies offline ...'). It also repeats that this is an 'OpenChainGraph compute node'. While the compute-mode and privacy information is front-loaded, the long tail of status information prevents this from being a focused definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains compute behavior, input handling, graph placement, and artifact export, but there is no output schema and the description never explicitly states what the actual resolved output is — e.g., what the 'response' contains and how the CBAM default value appears. The graph context is useful, but the expected return semantics remain underdefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are already documented in the schema, so the baseline is 3. The description adds general context about transient processing and browser delegation, but most of that is also present in the compute parameter description. It does not materially clarify parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'CBAM Default-Value Resolver' and an 'OpenChainGraph compute node', but it does not explicitly state the concrete action of resolving a CBAM default value from policy parameters. The closest functional language is 'inputs are processed transiently to compute the response', which is vague. It names the title and domain but leaves the primary purpose mostly implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives detailed guidance on compute modes ('auto', 'server', 'browser') and warns to use synthetic or anonymized inputs, but it never explains when to choose this tool over any sibling. There is no 'use this when...' or 'for X use sibling Y' guidance, so an agent must infer the use case from the name and upstream/downstream artifact mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_provenance_ingredient_treeProvenance Ingredient Tree ResolverCRead-onlyIdempotentInspect
Provenance Ingredient Tree Resolver: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-124-content-credential-signature-verifier. Open at: https://ainumbers.co/chaingraph/art-125-provenance-ingredient-tree-resolver.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds substantial behavioral detail: it states inputs are 'processed transiently' and 'not stored, logged, or retained', describes compute modes (auto/server/browser) and how gpu:true forces browser delegation, and notes it is 'deterministic'. It also mentions exporting an artifact with execution_hash for chain provenance. This enriches the behavioral profile meaningfully, though it doesn't describe error cases or the exact artifact structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes numerous extraneous details such as a URL to the tool page and an FV-status link, which are not essential for an agent to select or invoke the tool. It also repeats concepts like 'deterministic compute node' and mixes operational details (compute modes) with compliance notes, making it less scannable and front-loaded. The core purpose is buried under technical jargon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the absence of an output schema places the burden on the description to explain return values, but it only mentions 'exports an AP2 artifact with execution_hash' without detail. It also leaves policy_parameters fields undefined (suggesting a manifest) and does not clarify what happens when all parameters are optional and none are provided. There is no guidance on expected use cases or prerequisites, leaving gaps for an agent trying to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides ~100% coverage with detailed descriptions for all four parameters, including enums and semantics for parent_hashes, parent_tool_ids, and policy_parameters. The tool description adds minimal extra semantic value; it mentions compute modes and points to a manifest for policy_parameters field names, but doesn't clarify parameter relationships or expected values beyond the schema. Hence a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Provenance Ingredient Tree Resolver' and a 'deterministic OpenChainGraph compute node', and mentions it consumes upstream artifacts from a specific verifier and exports an AP2 artifact. However, it never explicitly states what the tool actually does with the ingredient tree—whether it validates, resolves, or transforms it—making the core function vague. The term 'resolver' is present, but the operational outcome is left ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling tools. It only instructs to 'use synthetic or anonymised inputs only', which is a constraint rather than usage guidance. There is no mention of alternatives or conditions that would make this tool preferable to similar compute nodes, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_recall_traceFSMA 204 Recall Trace Resolver (24-Hour FDA List)ARead-onlyIdempotentInspect
FSMA 204 Recall Trace Resolver (24-Hour FDA List): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-119-traceability-lot-code-linker. Open at: https://ainumbers.co/chaingraph/art-120-recall-trace-resolver.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, destructiveHint) are complemented by explicit description of non-persistence: 'Inputs are processed transiently and are not stored, logged, or retained.' It also discloses deterministic behavior, artifact export with execution_hash, and different compute delegation paths (server vs. browser). This goes well beyond annotations and gives an agent a precise model of side effects and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and long, with multiple clauses covering compute modes, privacy, artifact export, upstream dependency, URL, and FV-status receipt. While front-loaded with the core purpose and structured logically, it includes tangential operational details (URL, FV-status hash) that may distract an agent. It is not overly verbose but could be trimmed to focus on call-relevant facts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with no output schema, the description provides substantial context: compute behavior, artifact export, upstream chain link, and compliance framing. However, it does not explain what the recall trace resolution actually computes, what the returned artifact contains beyond an execution_hash, or how policy_parameters map to the decision function. The absence of this detail leaves an agent to infer expected outputs from domain knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) have schema-level descriptions. The tool description adds little beyond restating compute modes and referencing the manifest for policy_parameters. It does not enrich parameter understanding beyond what the schema already provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: an FSMA 204 Recall Trace Resolver that operates on a 24-hour FDA list, functioning as an OpenChainGraph compute node. It distinguishes itself from the large sibling set by naming the specific compliance mandate and upstream dependency (art-119-traceability-lot-code-linker). The verb 'resolve' and resource 'recall trace' are explicit, making the tool's role immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear contextual guidance: it specifies compute modes (auto, server, browser) with conditions, instructs users to use synthetic or anonymised inputs only, and mentions it consumes upstream artifacts from a specific tool, implying a chained workflow. However, it does not explicitly state when to prefer this over sibling tools or when not to use it, though its niche is clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_rule_versionEffective-Date / Rule-Version RegistryCRead-onlyIdempotentInspect
Effective-Date / Rule-Version Registry: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-627-effective-date-rule-version-registry.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bounds | No | |
| message | No | |
| citation | No | |
| error_code | No | |
| scope_note | No | |
| standard_id | No | |
| entry_digest | No | |
| filer_status | No | |
| parameter_set | No | Parameter name to {value, effective_from, effective_to, source, source_digest, status}. status is IN_FORCE, NO_VERSION_IN_FORCE, or AMBIGUOUS_MULTIPLE_VERSIONS_IN_FORCE. |
| fiscal_year_end | No | |
| float_sensitive | No | |
| resolution_path | No | |
| fiscal_year_begin | No | |
| resolution_status | No | RESOLVED or NO_BINDING_ENTRY, or null when the input was refused with an error_code. |
| transition_method | No | |
| parameter_set_as_of | No | The measurement date used, which is the fiscal year's beginning, matching how effective-date language is written. |
| fiscal_year_begin_basis | No | declared or inferred_prior_year_plus_one_day. An inference is never presented as a fact. |
| closed_filer_status_enum | No | |
| early_adoption_permitted | No | |
| first_binding_period_end | No | |
| registry_digest_recomputed | No | |
| binding_for_queried_annual_period | No | |
| binding_for_queried_interim_periods | No | |
| effective_for_annual_periods_beginning | No | |
| effective_for_interim_periods_beginning | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavior: inputs are processed transiently and not stored/logged/retained, and it exports an AP2 artifact with execution_hash for chain provenance. It also explains deterministic execution and the compute delegation rules, going beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous details such as a URL and an FV-status snapshot path that do not help an agent invoke the tool. It mixes infrastructure details (Cloudflare Workers, compute modes) with provenance information, and the core purpose is buried. The front-loading of the name is good, but the overall length and tangential content hurt usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description fails to explain the tool's actual function: what does 'resolve_rule_version' produce given the inputs? It discusses compute modes and artifact export but never states the decision logic or the typical use case. An agent would not know what inputs are meaningful or what the output represents without additional investigation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 each parameter. The description repeats the compute enum semantics but adds no new meaning beyond what the schema provides (e.g., the auto/server/browser behavior is already in the enum description). It does clarify that policy_parameters are for the decision function, but this is also in the schema. Thus the description adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as an 'Effective-Date / Rule-Version Registry' and a 'deterministic OpenChainGraph compute node', but it never explicitly states the action of resolving a rule version or effective date. The verb is implied by the tool name rather than expressed in the description, so an agent cannot confidently infer what the tool produces from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description focuses on compute modes and provenance, but never states criteria like 'use when you need to resolve the rule version for an effective date' or mentions any sibling tool. The agent is left to infer applicability solely from the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rollforward_y14_capital_worksheetFR Y-14 Capital Worksheet Roll-Forward & Cross-CheckBRead-onlyIdempotentInspect
FR Y-14 Capital Worksheet Roll-Forward & Cross-Check: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-439-y14-capital-worksheet-rollforward.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are 'processed transiently' and 'not stored, logged, or retained', the node is deterministic, and it exports an AP2 artifact with execution_hash for provenance. It also discloses server-side vs browser delegation behavior and a verifiable FV-status snapshot. No contradiction with readOnlyHint, idempotentHint, or destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is fairly verbose and contains redundancy, with 'OpenChainGraph compute node' stated twice, and it repeats compute-mode details that are already in the schema. The URL and FV-status receipt text add length but may be operationally relevant. It is readable and front-loaded, though it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an opaque policy_parameters object and no output schema, the description does not explain what fields the decision function requires or what the roll-forward/cross-check result contains beyond an AP2 artifact with execution_hash. It defers parameter details to an unavailable manifest, leaving an agent unable to construct a valid invocation. Operational details compensate only partially.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions (100% coverage), meeting the baseline, but the description adds little semantic value beyond restating compute-mode behavior already present in the schema. The opaque policy_parameters object is not clarified beyond 'see the tool's manifest', so an agent gains no additional field-level understanding from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title and identifies the tool as an 'OpenChainGraph compute node (regulatory_reporting)', which conveys the domain and operation type. However, it never explains what the roll-forward/cross-check actually computes or validates, leaving an agent to infer core functionality from the tool name. The FR Y-14 scope does distinguish it from unrelated roll-forward siblings like IFRS 17 ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute-mode configuration (auto/server/browser) and imposes a privacy constraint ('Use synthetic or anonymised inputs only'), but gives no guidance on when to choose this tool over alternatives. No sibling tools or exclusion conditions are mentioned, and the compute-mode detail is operational rather than selection-oriented.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roll_up_aml_lookback_dispositionAML Lookback Disposition RollupARead-onlyIdempotentInspect
AML Lookback Disposition Rollup: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-534-aml-lookback-disposition-rollup.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing transient processing, non-retention of inputs, server versus browser execution behavior, deterministic computation, AP2 artifact export with execution_hash, and provenance verification status. These behavioral details are genuinely additive and consistent with the readOnly and idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized but repetitive, saying 'Deterministic OpenChainGraph compute node' twice and including a URL and FV-status path that are tangential to tool selection or invocation. It is front-loaded with the tool name and compute behavior, but not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description only vaguely mentions exporting an 'AP2 artifact with execution_hash'. It never explains what an AML lookback disposition rollup actually does, what the output represents, or how to construct policy_parameters, which is a nested object with undeclared fields. An agent is left without enough domain context to invoke this tool correctly for its core purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented. The description adds some explanation of the compute parameter's behavior, which is also in the schema, but it does not illuminate the semantics of parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema states. It meets the baseline but adds little.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'AML Lookback Disposition Rollup' and an 'OpenChainGraph compute node (compliance_control)', but does not specify what the rollup computes or produces. It relies on the tool name for the actual verb and resource, and gives no functional distinction from siblings such as plan_aml_disposition_sample or reconcile_aml_lookback_completeness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on compute modes: when 'auto' defaults to server-side, when 'browser' forces client-side execution and returns a delegation URL, and that gpu:true nodes always delegate. It also instructs users to use synthetic or anonymised inputs only. It does not mention when to prefer this tool over alternate AML disposition tools, but the compute mode context is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_einvoice_jurisdiction_mandateE-Invoice Jurisdiction Mandate RouterBRead-onlyIdempotentInspect
E-Invoice Jurisdiction Mandate Router: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-294-einvoice-vat-calc-verifier. Output feeds: art-296-einvoice-transmission-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-295-einvoice-jurisdiction-mandate-router.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses that inputs are processed transiently and not stored or logged, that the node is deterministic, and that it exports an AP2 artifact with execution_hash for provenance. It also explains compute mode behavior and provides a verification snapshot. These details add genuine insight into the tool's behavior without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense block of text, containing technical details on compute bindings, provenance hashes, artifact IDs, links, and FV-status. It front-loads the main purpose but is unnecessarily verbose for an agent needing to invoke the tool correctly. Several sentences (e.g., the FV-status snapshot explanation) could be relegated to external documentation, making it less concise than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex compute node with no output schema, the description covers compute modes, consumption/production of artifacts, provenance requirements, and a URL for further reference. It omits explicit output format details, but given the absence of an output schema and the provision of chain and provenance context, the description is sufficiently complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) having a descriptive field in the input schema. The tool description does not add meaning beyond these schema descriptions; it reiterates compute modes and mentions policy_parameters but without new semantic depth. Therefore a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an 'E-Invoice Jurisdiction Mandate Router' and an 'OpenChainGraph compute node (compliance_mandate)', indicating it determines jurisdiction mandates for e-invoices. It specifies a distinct domain and function, distinguishing it from other routing tools like route_mica_transitional_deadline by its specific subject matter. However, it does not explicitly contrast with sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed technical behavior (compute modes, provenance, FV-status) but no direct guidance on when to choose this tool over alternatives. It mentions consuming upstream artifact art-294 and feeding art-296, implying a pipeline context, but does not state conditions for use or exclusions. This leaves usage context largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_partner_stablecoin_jurisdictionArc Multi-Currency Corridor Jurisdiction RouterBRead-onlyIdempotentInspect
Arc Multi-Currency Corridor Jurisdiction Router: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: 511-multi-currency-pvp-validator. Open at: https://ainumbers.co/chaingraph/art-111-arc-corridor-jurisdiction-router.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds valuable behavioral context: inputs are processed transiently and not stored, logged, or retained; it is deterministic; and it exports an AP2 artifact with execution_hash. These details explain side effects and data handling without contradicting the annotations. The added transparency is meaningful and goes beyond what structured hints provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains redundant phrasing, such as 'Deterministic OpenChainGraph compute node' appearing twice. It includes a long URL and a lengthy FV-status hash that are not directly actionable for calling the tool. While it is structured with several sentences, the extra metadata and repetition reduce clarity and brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with a nested object parameter and no output schema, the description falls short. It fails to explain what the jurisdiction routing decision actually is, what policy_parameters should contain beyond a pointer to an external manifest, and what the exported artifact includes. The operational details (compute modes, URLs) are present, but the core functional behavior and expected inputs/outputs are under-specified, leaving an agent without enough context to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all parameters (100% coverage), so baseline is 3. The description adds significant detail for the 'compute' parameter, explaining the default 'auto' behavior, server-side vs browser delegation, and the gpu:true exception. It also directs users to the manifest for 'policy_parameters' field names, though it doesn't elaborate on those fields. This additional nuance justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Router' for 'Multi-Currency Corridor' with a compliance mandate, but never explicitly states what routing decision it makes or what the tool actually computes. It repeats the name and adds technical jargon about compute nodes and kernels, leaving the core function vague. While it distinguishes from siblings by mentioning 'stablecoin' and 'jurisdiction', it does not clearly define the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context such as 'Use synthetic or anonymised inputs only' and detailed compute mode instructions, but it does not compare this tool to alternatives or state when it should be used instead of sibling tools like 'route_einvoice_jurisdiction_mandate'. It mentions feeding into a downstream validator, implying a pipeline role, but lacks explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_vida_oss_registrationViDA OSS Registration RouterCRead-onlyIdempotentInspect
ViDA OSS Registration Router: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-162-vida-platform-deemed-supplier-classifier. Output feeds: art-164-vida-compliance-readiness-diagnostic. Open at: https://ainumbers.co/chaingraph/art-163-vida-oss-registration-router.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral traits beyond annotations: it explains compute mode delegation (server vs browser), transient input handling with no storage/logging, artifact export with execution_hash, and the FV-status snapshot verification. These details add significant context that annotations do not cover. However, the description is dense and mixes operational details with provenance, slightly reducing clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a lengthy, single block of text with many technical details, URLs, hashes, and status information. It lacks clear structure (bullets, sections) and buries the essential purpose in jargon. While it contains useful info, its verbosity and lack of organization make it less effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not specify the output format or the actual decision logic of the router. It mentions exporting an AP2 artifact with execution_hash but does not describe the content or structure. Upstream and downstream artifacts are listed, but the tool's exact role in the pipeline is not clarified. For a tool with no output schema, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides complete descriptions for all four parameters. The tool description adds context for the compute parameter (e.g., gpu:true behavior) and explains how policy_parameters are used for server-side computation. This goes beyond the schema descriptions, though parent_hashes and parent_tool_ids are not further clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'ViDA OSS Registration Router' and an 'OpenChainGraph compute node', but does not clearly state what decision or routing action it performs. The focus on compute modes and artifact exports obscures the primary purpose. While the name and title hint at registration routing, the functional role remains vague for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions upstream and downstream artifacts and advises using synthetic or anonymised inputs, but it does not provide explicit guidance on when to use this tool versus sibling tools such as route_einvoice_jurisdiction_mandate or validate_vida_einvoice_conformance. There is no differentiation or conditions for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_401k_adp_acp_test401(k) ADP/ACP Nondiscrimination TesterBRead-onlyIdempotentInspect
401(k) ADP/ACP Nondiscrimination Tester: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-302-401k-adp-acp-test.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (read-only, idempotent, non-destructive), so the bar is for the description to add contextual behavior. It does: determinism, the server vs browser vs gpu:true delegation rules, transient non-retention of inputs, the export of an AP2 artifact with execution_hash for chain provenance, and the FV-status receipt that verifies offline. This is rich behavioral disclosure; the only gap is that it does not describe what the response payload looks like (no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense ~200-word run-on with redundant phrasing — 'OpenChainGraph compute node' and 'Deterministic OpenChainGraph compute node' appear back-to-back — and mixes invocation semantics, privacy caveats, provenance internals, and a URL receipt into one structureless block. The key selection facts (what the test does, when to use it) are buried among infrastructure details that could be one or two bullets, so it does not earn every sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compliance computation tool with 4 parameters and no output schema, the description is operationally detailed but substantively incomplete: it never explains what ADP/ACP testing entails, what inputs must go inside policy_parameters for the test to be computable, what the returned artifact/receipt actually contains, or when this applies vs the two dozen sibling nondiscrimination/fit tools. An agent could invoke the scaffolding (compute mode, chain hashes) but would have to leave the description to find the actual test inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds genuine value on the compute parameter by explaining what each mode does at runtime (server-side on Cloudflare Workers, browser delegation URL, gpu:true behavior), but it adds nothing about parent_* linkage or the actual fields expected inside policy_parameters, which remains a black box pointing to 'the tool's manifest'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific resource and task: running the 401(k) ADP/ACP nondiscrimination test under a compliance_mandate, so an agent can tell it apart from the hundreds of other compute/run tools in the catalog. It stops short of a 5 because it never states a concrete action verb beyond the title's 'Tester', and it doesn't explicitly differentiate itself from the conceptually adjacent run_section125_ndt or other run_* fit tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational context — compliance_mandate, deterministic execution, default server-side compute mode, browser delegation for compute:"browser", and a directive to use synthetic or anonymised inputs only — which tells the agent how to invoke it. However, it gives no when-to-use vs when-not-to guidance and names no alternatives (e.g., for Section 125 plans or other discrimination tests), so tool-selection reasoning is left entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_agent_economy_fitAgent Economy Runtime Fit DiagnosticCRead-onlyIdempotentInspect
Agent Economy Runtime Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-61-x402-batch-settlement-reconciler, art-62-ap2-payment-receipt-verifier, art-63-agent-service-metering-modeler, art-02-agent-spend-policy-simulator, mms-03-app-fraud-graph, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-60-agent-economy-runtime-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral traits beyond the annotations: inputs are 'processed transiently... not stored, logged, or retained,' the node is deterministic, compute modes affect execution (including a browser delegation URL for gpu:true nodes), and it exports an AP2 artifact with an execution_hash. It also clarifies that the FV-status is a snapshot, not a subscription. These details provide meaningful context about side effects and execution semantics, consistent with the readOnlyHint and idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and includes information not necessary for invoking the tool, such as the full URL, a list of output feed artifacts, and the FV-status JSON hash. These details bloat the description without adding operational value. The core purpose is buried under technical metadata. A more concise version focusing on the diagnostic's function and inputs would be more effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what the tool returns or how to construct the policy_parameters input, which is essential for calling the tool. With no output schema, the description should describe the output structure beyond just 'exports an AP2 artifact with execution_hash.' The reference to a 'manifest' for field names is not actionable for an agent. The frequent mentions of output feeds and provenance suggest a complex node, but the missing details on required inputs and return format render it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides detailed descriptions for all four parameters, so the description does not need to repeat them. It does add a minor clarification about compute modes ('gpu:true nodes always delegate'), but that is already in the schema. The description offers no additional guidance on policy_parameters, which is the most complex parameter, only pointing to a 'manifest' that is not accessible. Since schema coverage is 100%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node' and a 'Runtime Fit Diagnostic' but never states what specific aspect of agent economy runtime it evaluates or what the diagnostic computes. 'Agent economy runtime fit' is left undefined, and it does not differentiate from similar sibling tools like run_ai_act_highrisk_fit or run_tempo_fit_diagnostic. The core function is obscured by technical metadata (compute modes, output feeds, URLs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention any conditions, prerequisites, or scenarios where this diagnostic is appropriate. The only usage-related note, 'Use synthetic or anonymised inputs only,' is a constraint on input data, not a directive on when to invoke the tool. There are no references to sibling tools or decision trees.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_agentic_readiness_diagnosticAgentic Payments Readiness DiagnosticARead-onlyIdempotentInspect
Agentic Payments Readiness Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-15-agentic-mandate-sandbox, art-16-google-ap2-mandate-builder, art-17-ap2-mcp-policy-validator, art-18-mcp-developer-readiness-scorecard. Open at: https://ainumbers.co/chaingraph/art-27-agentic-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent, non-destructive), the description adds critical behavior: inputs are processed transiently and not stored/logged/retained, compute delegation behaviors (gpu:true always delegates to browser), and exports an execution_hash for provenance. It also mentions offline verifiable FV-status receipt. No contradiction with annotations; it enriches the safety and execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and compute modes, then covers data handling, outputs, URLs, and FV-status. It is thorough but slightly verbose, with repetition like 'OpenChainGraph compute node' appearing twice and a longer than necessary tail about FV-status. Still, each section earns its place and information is organized logically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters including nested objects and no output schema, the description provides context on inputs, compute behavior, and output artifact provenance, but it does not describe what the actual diagnostic result contains (beyond an AP2 artifact with execution_hash). An agent knows it returns a computed artifact but not the content or format of the readiness assessment, which is a gap for a diagnostic tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaning to the compute parameter by explaining default and forced modes, and mentions that policy_parameters are computed server-side when applicable, but defers field names to a manifest. It doesn't elaborate on parent_hashes or parent_tool_ids beyond schema, so added value is moderate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is an 'Agentic Payments Readiness Diagnostic' and a 'Deterministic OpenChainGraph compute node', with specific compute modes and output artifact. It distinguishes itself from sibling readiness tools by domain and output feeds, though it doesn't explicitly highlight differences. The purpose is understandable: a diagnostic that evaluates readiness given inputs and produces an AP2 artifact for provenance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance on compute modes ('by default compute:"auto"...', 'compute:"browser" forces client-side...') and data handling ('use synthetic or anonymised inputs only'), but it does not explicitly state when to use this tool versus other readiness diagnostics or when not to use it. Siblings like run_dora_readiness_diagnostic are not mentioned, leaving selection inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_ai_act_highrisk_fitEU AI Act High-Risk Fit & Classification DiagnosticCRead-onlyIdempotentInspect
EU AI Act High-Risk Fit & Classification Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-65-ai-conformity-pack-builder, art-66-fria-postmarket-monitoring-builder, art-67-agentic-ai-risk-classifier, art-05-eu-ai-act-credit-scoring-conformity, 452-fair-lending-ai-bias-assessment, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-64-ai-act-highrisk-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, signaling a safe, non-mutating operation. The description adds value by stating that inputs are processed transiently, not stored, and that it exports an AP2 artifact with an execution_hash for provenance. It also explains compute modes and browser delegation, which is useful but somewhat tangential to the core behavior. The FV-status note clarifies the verification is offline, but the overall behavioral picture is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and densely packed with technical details (compute modes, IPFS URLs, FV-status receipts, output feeds) that are not front-loaded. The core purpose is buried under execution mechanics. Much of the content (e.g., the long list of output feeds, the specific URL) could be trimmed or moved to supplementary metadata. Every sentence does not 'earn its place'; the statement about outputs feeds is more of a downstream routing list than essential selection guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the long text, the description fails to explain what the tool actually computes: what 'high-risk fit' means, what inputs are expected (policy_parameters is unspecified), or what the output looks like. There is no output schema, so the description should clarify the return value, but it instead focuses on execution provenance. The agent is left without a clear understanding of what decision or classification results from calling this tool, making the context incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions, including the compute enum with mode explanations. The description adds extra value by elaborating on compute modes (auto, server, browser) and the gpu:true delegation rule, which is not fully detailed in the schema. The policy_parameters field is vague in both schema and description, but the description references the tool's manifest for field names, which is a reasonable pointer. With 100% schema coverage, the baseline is 3; the extra compute context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description's title and first sentence only restate the tool name without clearly explaining what the tool does. The phrase 'EU AI Act High-Risk Fit & Classification Diagnostic' is a label, not an explanation of the actual function or output. It fails to specify the core decision it makes or the classification it produces, distinguishing it from dozens of sibling 'run_X'_fit' and 'classify_*' tools. The extensive technical details about compute modes and IPFS overshadow the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some context about compute node behavior but does not tell the agent when to use this tool vs. any of the many sibling tools like 'run_ai_governance_fit' or 'assess_ai_act_conformity'. It mentions output feeds to downstream tools, which hints at a pipeline role, but there is no explicit guidance on intended use cases, prerequisites, or exclusions. The agent is left to infer when this diagnostic is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_ai_governance_fitAI Governance Readiness DiagnosticCRead-onlyIdempotentInspect
AI Governance Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-175-gpai-code-of-practice-conformance. Open at: https://ainumbers.co/chaingraph/art-176-ai-governance-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description adds that the tool is deterministic, processes inputs transiently (not stored/logged), and exports an AP2 artifact with execution_hash. It also explains compute modes and parent hashes, giving some extra behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, run-on paragraph with heavy repetition (e.g., 'gpu:false nodes with a registered kernel', 'compute:"auto"') and mixes multiple concerns (compute binding, provenance, compliance) without clear structure. It could be cut by half without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description focuses on the compute/provenance plumbing but fails to explain the actual diagnostic logic, what policy_parameters should contain, what the AP2 artifact represents, or how a user would interpret the result. Given the tool's complexity and lack of output schema, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover compute, parent_hashes, parent_tool_ids, and policy_parameters. The description repeats much of this but adds context like 'sets chain.parent_hashes in the export' and clarifies compute mode behaviors, providing marginal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title says 'AI Governance Readiness Diagnostic', but the description loses the purpose in technical jargon about compute binding, GPU nodes, and registered kernels. It never states what the diagnostic evaluates or what the result represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the many sibling diagnostic tools (e.g., run_ai_act_highrisk_fit, run_digital_trade_fit). No use cases, prerequisites, or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_arc_fit_diagnosticArc Fit DiagnosticARead-onlyIdempotentInspect
Arc Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-43-arc-cpn-model, art-44-arc-stablefx-model, art-45-arc-xreserve-linter, art-46-arc-paymaster-model, art-47-arc-cctp-transfer. Open at: https://ainumbers.co/chaingraph/art-42-arc-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses deterministic behavior, server-side versus browser delegation, transient processing with no storage/logging/retention, the synthetic-input requirement, AP2 artifact export with execution_hash, and downstream feed targets. This goes well beyond the readOnlyHint and idempotentHint annotations and gives an agent important side-effect and data-handling context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense run-on paragraph and repeats 'OpenChainGraph compute node' in consecutive sentences. It also appends a long FV-status hash/URL and a lengthy downstream feed list that are not needed for invocation, so it is not concise despite being front-loaded with the tool identity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description explains the main return behavior (browser delegation URL or AP2 artifact with execution_hash), along with compute modes, retention guarantees, and provenance targets. It could be more explicit about the full response shape and error/edge cases, but it is sufficient for an agent to invoke the tool and understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with 100% coverage, including the compute enum and parent_hashes/parent_tool_ids pairing. The description adds a general synthetic-input constraint but no parameter-specific semantics beyond what the schema provides, which meets the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies this as the Arc Fit Diagnostic OpenChainGraph compute node, states that it is deterministic, and says it exports an AP2 artifact with execution_hash, so an agent can tell it is a compute/diagnostic tool. It does not explicitly say what 'arc fit' evaluates or how it differs from sibling run_*_fit_diagnostic tools, but the title and downstream feed list provide reasonable differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives operational guidance for choosing compute mode, including auto/server/browser behavior and gpu:true nodes always delegating to the browser, and it warns to use synthetic or anonymised inputs only. However, it never names a sibling alternative or states when not to use this tool, so routing guidance is only implied by the Arc Fit name and output feed list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_audit_recalc_suiteAudit Recalculation SuiteARead-onlyIdempotentInspect
Audit Recalculation Suite: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-463-recalc-suite.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, requiring synthetic/anonymised inputs. It discloses that it exports an AP2 artifact with execution_hash for provenance, and provides a verification receipt URL. This exceeds baseline given annotations, adding data-handling and provenance behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but information-packed, front-loaded with the core purpose and compute mode logic. It's a single paragraph with clear sentence flow. The URLs at the end are additional context that may be useful for verification but could be trimmed. No wasted words; every sentence carries meaning, though slightly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, chaining, browser delegation), the description covers essential operational details. Output schema absent, but the description mentions the AP2 artifact with execution_hash, which is sufficient. The FV-status link provides verification info. Missing a bit on error handling or what exactly the 'response' is, but overall complete for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining compute modes in detail, beyond the schema enum descriptions, and clarifies that parent_hashes/parent_tool_ids are for chain provenance. It also tells users policy_parameters are computed server-side when applicable. The description compensates the schema coverage gap by explaining the purpose of each param grouping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (run audit recalculation suite compute node), and clearly distinguishes it from siblings like audit_* tools by specifying it's an OpenChainGraph compute node compliance_control. The name 'Audit Recalculation Suite' plus description clarify the purpose: to run a deterministic compute node for audit recalculation, with compute modes and browser delegation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use it (by default server-side for gpu:false nodes with registered kernel, compute:auto) and when NOT (gpu:true nodes always delegate to browser, compute:browser forces client-side). It also explains when 'server' is forced. It doesn't name specific sibling tools but provides clear operational context. The compute mode selection criteria are fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_call_report_edit_checksCall Report Published Edit-Check GateARead-onlyIdempotentInspect
Call Report Published Edit-Check Gate: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-432-call-report-rc-balance-sheet, art-433-call-report-rcr-capital. Open at: https://ainumbers.co/chaingraph/art-434-call-report-edit-check-gate.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| checks | No | |
| entity_id | No | |
| check_count | No | |
| gate_status | No | |
| report_form | No | |
| coverage_note | No | |
| all_fatal_passed | No | |
| reporting_period | No | |
| fatal_failure_count | No | |
| warning_failure_count | No | |
| rounding_tolerance_usd | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, it exports an AP2 artifact with execution_hash, and it provides a URL and FV-status receipt. This goes beyond annotations and adds meaningful behavioral context about data handling and provenance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the tool's identity, but it's quite long and includes some potentially extraneous details like the FV-status JSON hash and the full URL. While these are useful for provenance, the description could be more concise. The compute mode explanation partially duplicates the schema's parameter description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, output schema exists), the description covers the key aspects: what it does, how compute modes work, data handling, provenance, and upstream dependencies. The output schema exists so return values don't need explanation. The main gap is not distinguishing from the similar sibling run_regrpt_edit_checks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters well. The description adds context about policy_parameters being computed server-side and mentions parent_hashes chaining, but doesn't add significant new meaning beyond the schema. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a Call Report Published Edit-Check Gate compute node in the regulatory_reporting domain, and it consumes specific upstream artifacts. However, it doesn't explicitly distinguish itself from the sibling tool 'run_regrpt_edit_checks' which appears to be a similar edit-check tool, so it doesn't fully differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and when browser delegation occurs, and mentions consuming specific upstream artifacts. However, it doesn't explicitly state when to use this tool versus alternatives like run_regrpt_edit_checks, nor does it provide exclusions or conditions for 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.
run_carbon_compliance_fitCarbon & Climate Compliance Fit DiagnosticCRead-onlyIdempotentInspect
Carbon & Climate Compliance Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-69-cbam-embedded-emissions-calculator, art-72-cbam-precursor-emissions-aggregator, art-73-taxonomy-alignment-scorer, art-75-eugb-factsheet-validator, art-76-climate-scenario-applicator, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-68-carbon-compliance-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations: it states determinism, transient processing (inputs not stored/logged/retained), and a constraint to use synthetic or anonymised inputs. These are useful and not contradicted by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and containing dense technical details (compute modes, URLs, hash suffixes). It lacks a clear, front-loaded summary and would benefit from trimming to the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain the output format or the meaning of the diagnostic result. It mentions 'Exports an AP2 artifact' but does not detail the artifact's contents or how the diagnostic outcome is represented. Given no output schema, this is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters, covering compute modes, parent_hashes, parent_tool_ids, and policy_parameters. The description adds no substantive meaning beyond what's in the schema, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies it as a 'Carbon & Climate Compliance Fit Diagnostic' and an OpenChainGraph compute node, but does not explicitly state what the diagnostic computes or outputs. It mentions exporting an AP2 artifact but not the nature of the result. Compared to sibling 'run_*_fit' tools, the purpose is clear at a high level but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool relative to the many other 'run_*_fit' or compliance diagnostic tools. The description focuses on compute modes and provenance rather than use cases or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_chainRun a whole ChainGraph chain in one callARead-onlyIdempotentInspect
Executes every step of a named chain (list names with find_chain / build_workflow_links) and returns ONE composite artifact whose execution_hash anchors all step outputs. compute:"server"/"auto" (default) runs each kernel-backed step server-side, threading step N's execution_hash into step N+1's parent_hashes; compute:"browser" returns a zero-egress delegation bundle (composer URL + ordered deep-links) to run client-side instead — no data leaves the agent. Supply inputs as a map of step tool_id -> policy_parameters (field names per node manifest / build_chaingraph); a step whose kernel needs inputs you omit is reported per-step (status "input_required"), never failed silently. Steps that are browser-only (gpu:true or no registered kernel) are listed for browser delegation. Deterministic, zero PII, zero payload logging. Verify the result with verify_execution_hash. Response includes a ledger_url fragment link for human verification at ledger.ainumbers.co.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain name, e.g. "agent-commerce-conformance". List names with find_chain or build_workflow_links. | |
| inputs | No | Map of step tool_id -> policy_parameters overrides. Omitted steps run with {} (kernels needing required fields are reported, not failed silently). | |
| compute | No | "auto"/"server" (default) runs kernel-backed steps server-side; "browser" returns a zero-egress delegation bundle to run client-side. | |
| mandate | No | Optional §22 Work Mandate artifact. When supplied: §16 signature is verified and validity window is checked (unsigned/bad-sig/expired returns a structured error); mandate_hash is folded into every step and the composite receipt as a conditional-presence key, proving which policy governed this run. A no-mandate run is byte-identical to the pre-binding baseline (linear-hash-freeze invariant). | |
| escalation_transport | No | How an OCG §22.8 escalation is delivered. "resolve_handle" (DEFAULT) never blocks: the run COMPLETES with status "escalated" plus the open record, its record_hash and a resolve handle, and a human closes it out of band. "input_required" opts into the SEP-2322 multi-round-trip: the call answers with an InputRequiredResult asking for the §22.8.4 closure, and the retry (echoing requestState) resolves the record inline. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description claims the tool 'executes every step', implying mutation, but annotations indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which contradict the notion of execution causing side effects. Additional context about determinism and zero logging is helpful, but the contradiction lowers the score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is fairly long but front-loaded with main purpose. Each sentence adds value, though some details could be more concisely expressed. Overall, it is well-structured and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains return type (composite artifact with execution_hash) and edge cases (browser-only steps, mandate validation, escalation behavior). It covers key aspects needed for an AI agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, so baseline is 3. Description adds significant value beyond schema: explains behavior for omitted inputs, mandate integration, compute modes, and escalation transport options. This extra context warrants a score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'executes' and resource 'chain', and distinguishes itself from siblings like find_chain and build_workflow_links by explaining that run_chain executes the chain while the others list or build chains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on using different compute modes ('server'/'auto' vs 'browser') and input supply as a map. Mentions verification via verify_execution_hash, but does not explicitly state when not to use this tool or alternative approaches for specific cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_digital_trade_fitDigital Trade Corridor Fit DiagnosticARead-onlyIdempotentInspect
Digital Trade Corridor Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-53-mletr-ebl-conformance-validator, art-54-digital-trade-rules-checker, art-55-trade-document-provenance-verifier, 509-canton-party-allowlist-validator, art-10-amla-transaction-typology-risk-scorer, ml-02-credit-default-risk-scorer, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-52-digital-trade-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: inputs are processed transiently and not stored/logged/retained, compute modes affect execution location, and it exports an AP2 artifact with execution_hash for chain provenance. It also mentions the FV-status receipt for verification. This goes beyond the annotations and provides meaningful behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long and dense, with many technical details packed into a few sentences. It front-loads the core purpose and compute modes, but then includes a long list of output feeds and a URL and FV-status hash that might be better placed elsewhere. While every sentence adds some information, the structure could be improved by separating the essential usage guidance from the provenance/verification details. It's not overly verbose, but it's not optimally concise either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested objects, compute modes, chain provenance), the description covers the key aspects: what it does, how compute modes work, data handling, output artifact, and downstream consumers. The output schema is absent, but the description mentions the AP2 artifact and execution_hash, which gives some indication of the return. The FV-status receipt adds verification context. It's fairly complete for an agent to call it correctly, though the policy_parameters field remains underspecified (deferred to a manifest).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some context: it explains the compute modes in more detail (e.g., 'auto' = server for gpu:false nodes with registered kernels, 'browser' forces client-side execution and returns a browser delegation URL), and mentions that policy_parameters are computed server-side when compute is 'auto' or 'server'. However, it doesn't add much beyond what the schema already provides, and the policy_parameters field is still vague ('See the tool's manifest for field names'). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('run') and resource ('Digital Trade Corridor Fit Diagnostic'), and identifies it as an OpenChainGraph compute node. It distinguishes itself from siblings by mentioning the compute modes and the output feeds, but it doesn't explicitly name a sibling alternative for comparison. The purpose is clear enough for an agent to understand what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: it's a deterministic compute node for digital trade corridor fit diagnostics, with specific compute modes (auto, server, browser) and a note about gpu:true nodes always delegating to the browser. It also mentions the output feeds, which helps an agent understand downstream usage. However, it doesn't explicitly state when NOT to use it or name alternative tools for similar tasks, though the sibling list includes many other 'run_*_fit' tools that could be alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_dora_readiness_diagnosticDORA Readiness DiagnosticDRead-onlyIdempotentInspect
DORA Readiness Diagnostic: OpenChainGraph compute node (infrastructure_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-09-dora-incident-classifier, pnr-01-dora-ict-cascade-simulator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-29-dora-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are set (readOnlyHint:true, deterministic), and the text does claim 'Deterministic' twice. But the output is never disclosed — what does a 'readiness diagnostic' return? No output schema is provided, so the description is the only chance to specify the return value, and it doesn't. With no output schema annotation, this is the critical gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads opaque infrastructure terms ('OpenChainGraph compute node', 'infrastructure_mandate', 'gpu:false nodes', 'registered kernel'). It's discriminative in recognizing good structure, but this is overloaded with implementation detail that doesn't aid a caller and crowds out actual scenario guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description becomes the only source for return behavior — and it never says what the diagnostic produces (scores? narrative report? pass/criteria? severity list?). The four parameters, including the important compute:'auto' mode and the 'registered kernel' requirement, are unexplained. An agent cannot determine what inputs are needed or what it gets back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a 3 baseline would apply. But the description focuses on compute:'auto' infrastructure mode rather than what the four parameters semantically do — what inputs the diagnostic needsahan or what compute:auto implies for the caller. Parameter semantics are not clarified, so below baseline at 2.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title names 'DORA Readiness Diagnostic' but the description never explains what DORA evaluates or what the diagnostic measures. It describes the execution environment ('compute node', 'Cloudflare Workers', 'gpu:false') rather than the domain or output. An agent cannot infer what this tool does. Compare to sibling 'evaluate_decision_tree' which describes the assessment resource. This is pure infrastructure framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to invoke it, what scenario it serves, or what a DORA readiness diagnostic is meant to assess. The description discusses compute mode ('compute:"auto"') — a detail about execution, not a usage condition. No distinction from whether the agent needs it versus another diagnostic tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_emir_reporting_fitEMIR Reporting Readiness DiagnosticCRead-onlyIdempotentInspect
EMIR Reporting Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-157-emir-lifecycle-event-validator. Open at: https://ainumbers.co/chaingraph/art-158-emir-reporting-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already include readOnlyHint and idempotentHint, the description adds materially useful behavioral context: processing is transient with inputs not stored/logged/retained; compute:'browser' returns a delegation URL; gpu:true always delegates; exports an AP2 artifact with execution_hash; and the FV-status receipt verifies offline. This exceeds annotation coverage without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense single paragraph that drags in peripheral housekeeping such as URLs, FV-status JSON paths, and 'a snapshot, not a subscription' comments. While the privacy and compute-mode details are useful, the structure obscures the core meaning and would be hard to read at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers prerequisites, privacy, compute modes, and artifact provenance, but it does not explain the actual diagnostic output or how readiness is represented, and there is no output schema to fill that gap. The policy_parameters field is delegated to an external manifest, so an agent still lacks essential invocation knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents all parameters, including enum values for compute and descriptions for parent_hashes and parent_tool_ids, so the baseline is met. The description adds little parameter-level detail beyond restating compute-mode behavior, and policy_parameters falls back to an external manifest, which is a notable gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title as 'EMIR Reporting Readiness Diagnostic' and labels it an 'OpenChainGraph compute node' without ever stating what the diagnostic evaluates or decides. It grounds the tool in a compliance mandate but does not explain the concrete outcome, so an agent is left uncertain about this tool's function relative to other EMIR tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers several contextual guidances: 'use synthetic or anonymized inputs only', a supply-chain dependency on upstream artifacts from 'art-157-emir-lifecycle-event-validator', and compute-mode behavior. However, it fails to state when this tool should be preferred over alternatives such as check or validation or reconciliation tools, and it gives no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_eudr_readiness_fitEUDR Readiness DiagnosticARead-onlyIdempotentInspect
EUDR Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-169-eudr-supply-chain-traceability-linker. Open at: https://ainumbers.co/chaingraph/art-170-eudr-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors beyond the annotations: inputs are processed transiently and not stored/logged/retained, browser delegation returns a URL, an AP2 artifact with execution_hash is exported, and the FV-status is a snapshot that verifies offline. These details substantially enrich the agent's understanding without contradicting the readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the most critical facts (purpose and compute behavior). Each sentence adds operational value. The URLs and FV-status details lengthen it but serve a provenance purpose. Slightly long for a quick-scan, but it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute behavior, data handling, output artifact, upstream dependency, and offline verification. Missing explicit prerequisites beyond 'use synthetic inputs' and details on the tool manifest fields for policy_parameters, but given the output schema absence and annotations, it is quite complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 value by explaining compute mode semantics in plain language (what 'server' vs 'browser' mean) and how policy_parameters are computed server-side depending on the node. It also clarifies that parent_hashes chain from upstream AP2 artifacts, complementing the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an EUDR Readiness Diagnostic, an OpenChainGraph compute node tied to a compliance mandate. It states a specific resource (art-170-eudr-readiness-diagnostic) and scope. However, it does not explicitly distinguish itself from similar sibling readiness tools, only indirectly through the EUDR domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit operational guidance on compute modes: 'auto' defaults to server-side, 'browser' forces client-side delegation, gpu:true always delegates, and it instructs users to use synthetic or anonymised inputs only. However, it does not mention when to choose this tool over related EUDR siblings such as score_eudr_country_risk or validate_eudr_due_diligence_statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_illustration_selfsupport_testLife Illustration Self-Support Test (NAIC Model 582)ARead-onlyIdempotentInspect
Life Illustration Self-Support Test (NAIC Model 582): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-254-compute-rbc-action-level. Open at: https://ainumbers.co/chaingraph/art-253-run-illustration-selfsupport-test.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses determinism, transient non-retention of inputs, server vs browser delegation behavior, AP2 artifact export with execution_hash, and offline-verifiable FV-status receipt. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with identity and compute behavior, but it repeats 'OpenChainGraph compute node' and extends into URL and FV-status receipt details that an invoking agent does not need. Dense but not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers compute routing, input privacy, and output provenance, but with no output schema it never states the response shape beyond a browser delegation URL or execution_hash, and policy_parameters field names are deferred to an external manifest. Adequate for calling with zero required params, incomplete for richer use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds genuine meaning by elaborating the compute enum semantics (auto/server/browser, gpu:true delegation) and by warning that inputs must be synthetic. It doesn't add field details for parent_hashes or policy_parameters, but the schema already describes those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify a specific compliance test — Life Illustration Self-Support Test (NAIC Model 582) — and the name supplies the run verb. It lacks an explicit statement of what the test computes or a distinction from sibling run_* tools, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete operational guidance: use synthetic or anonymised inputs, and choose compute modes based on gpu/kernel availability by default. It never says when to select this tool over related compute/run/fit tools, so usage context 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.
run_insurance_reporting_fitInsurance Reporting Readiness DiagnosticARead-onlyIdempotentInspect
Insurance Reporting Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-181-sii-ifrs17-reconciliation-bridger. Open at: https://ainumbers.co/chaingraph/art-182-insurance-reporting-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only and idempotent, and the description adds significant behavioral detail: deterministic execution, server-side vs browser delegation, transient input processing with no storage/logging/retention, AP2 artifact export, and upstream dependency. This is exactly the kind of context annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening repeats 'OpenChainGraph compute node' in consecutive sentences, and the FV-status block plus URL adds provenance boilerplate that an agent does not need to decide whether to call the tool. The useful compute/privacy facts are buried in a long paragraph rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only partially discloses return semantics: it promises an AP2 artifact with execution_hash but never says what the readiness diagnostic result looks like, and policy_parameters field names are deferred to an external manifest. Runtime modes, retention behavior, and upstream dependencies are well covered, so it is minimally viable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters, so the baseline is 3; the description adds the concrete upstream artifact ID to chain from, which directly informs parent_hashes/parent_tool_ids, and the privacy constraint ('synthetic or anonymised inputs only') shapes what should go in policy_parameters. It does not enumerate policy_parameters fields, but schema and manifest already carry that burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name make the domain clear, but the description opens with a restatement of the title and only generic labels ('OpenChainGraph compute node', 'compliance_mandate') rather than an explicit verb like 'assesses' or 'runs a fit'. It is distinguishable by name, but the text does not state the actual diagnostic action or outcome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives operational guidance: which upstream artifact to chain from (art-181-sii-ifrs17-reconciliation-bridger), compute auto/server/browser behavior, and a hard constraint to use synthetic or anonymised inputs. It never names alternatives or says when not to use this tool, so selection from the large sibling set is left mostly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_irrbb_disclosure_fitIRRBB Disclosure Readiness DiagnosticARead-onlyIdempotentInspect
IRRBB Disclosure Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-187-irrbb-csrbb-scope-checker. Open at: https://ainumbers.co/chaingraph/art-188-irrbb-disclosure-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it explains the compute modes and their implications (server-side vs browser delegation), states that inputs are not stored or logged, and mentions the export of an AP2 artifact with execution_hash for chain provenance. It also provides a URL and FV-status link for verification. This goes beyond the annotations and gives the agent a clear picture of what happens when the tool is invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long and dense, with multiple sentences covering compute modes, transient processing, artifact export, upstream artifacts, and verification links. While it's informative, it's not front-loaded with the most critical information (what the tool does) — that comes first, but the compute mode details and URLs add length. Some sentences like 'Deterministic OpenChainGraph compute node' are repeated, and the FV-status explanation is verbose. It could be more concise, but it's not excessively wordy for the amount of context it provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested objects, no output schema), the description covers most essential aspects: what it does, how compute modes work, data handling, artifact export, upstream dependencies, and verification. The lack of an output schema is partially compensated by mentioning the AP2 artifact and execution_hash. However, it doesn't describe the actual output format or what the diagnostic result looks like, which could be important for an agent. The description is fairly complete for a diagnostic tool with annotations covering safety, but the output format gap is notable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all four parameters are documented in the schema. The description adds some context: it explains the 'compute' parameter's behavior in detail (matching the schema), and mentions that 'policy_parameters' are computed server-side when applicable. However, it doesn't add much beyond the schema for 'parent_hashes' and 'parent_tool_ids', which are already well-described. The description's mention of 'See the tool's manifest for field names' for policy_parameters is a slight gap, but the schema already provides a description. Overall, the description adds marginal value over the schema, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'IRRBB Disclosure Readiness Diagnostic' with 'OpenChainGraph compute node (compliance_mandate)'. It clearly identifies the tool's function as a diagnostic for IRRBB disclosure readiness. However, it doesn't explicitly distinguish it from sibling tools like 'run_irrbb_disclosure_fit' or 'evaluate_irrbb_sot_eve', though the name and context imply a diagnostic role. The description is clear but could be more explicit about what makes it unique among similar IRRBB tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context: it mentions compute modes ('auto', 'browser', 'server') and when each is used, and it notes that inputs are processed transiently and recommends using synthetic or anonymised inputs. However, it doesn't explicitly state when to use this tool versus alternatives like 'run_irrbb_disclosure_fit' or 'evaluate_irrbb_sot_eve'. The guidance is implicit through the diagnostic nature and the mention of upstream artifacts, but there's no clear 'use this when...' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_kernel_vmKernel VMARead-onlyIdempotentInspect
Run a ChainGraph decision kernel's compute(policy_parameters) inside a sandboxed, deterministic, in-browser QuickJS-ng WebAssembly VM (ocg-deterministic-compute@2) and return its output_payload. Demo kernel set only -- for the full catalog, use the worker's compute kernels directly. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| elapsed_ms | No | |
| output_payload | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond annotations: sandboxed, deterministic, in-browser QuickJS-ng WebAssembly VM, client-side execution, zero PII, zero network, widget rendering. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each conveying essential information: core function, limitation, and security/UI details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, limitations, runtime environment, and security. Slight gap in not detailing how the kernel is selected or the output schema, but the latter is provided separately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, baseline is 3. The description adds minimal extra meaning beyond the schema, only mentioning that inputs are applied via AIN Bridge prefill and referencing the manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool runs a ChainGraph decision kernel's compute inside a sandboxed VM and returns the output. It distinguishes itself from siblings like 'run_chain' and explicitly notes it is for demo kernels only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: for the full catalog, use the worker's compute kernels directly. It also implies safe usage (zero PII, zero network) but does not exhaustively list when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_liquidity_stress_testLiquidity Stress Test Simulator (LCR/NSFR)ARead-onlyIdempotentInspect
Liquidity Stress Test Simulator (LCR/NSFR): OpenChainGraph compute node (liquidity_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: rca-02-mica-reserve-stress, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/sim-01-lcr-nsfr-liquidity-stress-test.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the bare safety profile is covered. The description adds meaningful behavioral context: transient processing (inputs not stored/logged/retained), the browser delegation nuance (returns a delegation URL instead of a result), and the AP2 artifact export with execution_hash for chain provenance. It also discloses the FV-status receipt as a snapshot for offline verification. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but does front-load the core purpose. It contains several distinct pieces of information packed into a single paragraph, including compute behavior, transient processing, output feeds, and the verification URL/receipt. The FV-status receipt section is arguably peripheral to immediate invocation and adds noise; a more structured breakdown (e.g., separate lines for compute modes, data handling, outputs) would improve scannability. Every sentence earns its place but the wall of text hampers quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4-parameter schema with nested objects and no output schema, the description covers the essential invocation knowledge: compute semantics handles the tricky review context, data handling policy clarifies safety expectations, and the output feed/artifact notes set expectations for what the tool produces. Nothing critical for an agent to call it correctly is missing for a deterministic read-only compute node.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter names and purposes. The description adds crucial semantics beyond the schema: it explains the compute modes in detail ('auto' = server for gpu:false; 'browser' forces client-side and returns a delegation URL), warns about synthetic inputs, and explains what parent_hashes/parent_tool_ids are for (chaining from upstream artifacts). This meaningfully augments the schema's bare field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a deterministic OpenChainGraph compute node for liquidity stress testing (LCR/NSFR), with OpenChainGraph compute node and deterministic behavior highlighted. It distinguishes itself by naming the output feeds and the FV-status receipt. However, it doesn't explicitly differentiate from the sibling 'compute_lcr_nsfr_leverage' which appears to be similar, so some ambiguity remains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage context: compute modes ('auto', 'browser') with explanations of when each is used (gpu:false vs gpu:true nodes), which is helpful. It also gives a security caveat ('Use synthetic or anonymised inputs only') that implicitly guides when to use. But it doesn't explicitly say when NOT to use this tool versus alternatives like the leverage compute tool or other stress-test siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_mcp_deployability_diagnosticMCP Server Deployability DiagnosticARead-onlyIdempotentInspect
MCP Server Deployability Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-18-mcp-developer-readiness-scorecard. Open at: https://ainumbers.co/chaingraph/art-28-mcp-server-deployability-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gaps | No | |
| verdict | No | |
| score_pct | No | |
| all_answered | No | |
| domain_scores | No | |
| is_deployable | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations. It discloses that inputs are processed transiently and not stored or logged, that the tool is deterministic, and it details compute-mode delegation logic (server vs browser, gpu:true always delegates). It also mentions the AP2 artifact export and execution_hash, providing substantial behavioral context that annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, including a URL and FV-status receipt which, while potentially useful for provenance, add length. It is front-loaded with the purpose, but several sentences are devoted to chain provenance and verification that may be tangential for an agent deciding to invoke the tool. It is structured and not repetitive, but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, output schema present), the description covers essential aspects: compute modes, transient input handling, output artifact and execution_hash, and output feed. It does not describe the output schema, but that is provided separately. The missing 'when to use' guidance is the only notable gap, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful context: it clarifies the default compute behavior and explains that gpu:true nodes always delegate, which is not in the schema. It also frames policy_parameters as the decision function's inputs. While parent_hashes and parent_tool_ids are not further explained, the added compute-mode semantics justify a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs an MCP Server Deployability Diagnostic and identifies it as a deterministic OpenChainGraph compute node. The verb 'diagnostic' and resource 'MCP server deployability' are specific. However, it doesn't differentiate from sibling diagnostic tools like run_mcp_server_readiness or run_agentic_readiness_diagnostic, so it only partially distinguishes itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a usage constraint ('Use synthetic or anonymised inputs only') and explains compute modes, but it does not explicitly state when to choose this tool over alternatives, nor does it mention any exclusions. Guidance on selection is absent, leaving the agent to infer applicability 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.
run_mica_casp_fitMiCA CASP Fit DiagnosticBRead-onlyIdempotentInspect
MiCA CASP Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-99-mica-transitional-deadline-router, art-100-mica-casp-authorization-readiness, art-102-crypto-asset-whitepaper-linter, art-103-mar-crypto-surveillance-readiness, art-104-tfr-travel-rule-batch-validator, art-105-mica-token-service-scoper, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-98-mica-casp-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No contradiction with annotations: readOnlyHint=true aligns with 'Inputs are processed transiently... not stored, logged, or retained', and idempotentHint=true aligns with 'Deterministic'. The description adds meaningful behavior beyond annotations: transient processing, no retention, artifact export with execution_hash, and offline-verifiable FV-status receipt. This is solid disclosure of what the tool does and does not retain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, single unbroken paragraph overloaded with jargon and non-essential detail. The eight output feed names, the full FV-status receipt URL, and the domain URL are noise for an agent deciding whether to call. The valuable compute-mode info is front-loaded, but the overall signal-to-noise ratio is poor. This is over-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param tool with no output schema, the description covers compute behavior, chaining via parent_hashes, transient processing, and return expectations (browser delegation URL vs AP2 artifact). But the policy_parameters object is never concretely specified and return-value shape is only hinted at. Given the jargon density and the vague policy_parameters, completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does add genuine value on the compute parameter by explaining the server vs browser delegation semantics and gpu:true behavior beyond the enum descriptions. However, policy_parameters is left vague ('See the tool's manifest for field names'), so the description doesn't fully compensate for that ambiguity, keeping it at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb-resource pair: a MiCA CASP Fit Diagnostic that runs as a Deterministic OpenChainGraph compute node. It distinguishes itself from the large sibling set through its specific MiCA CASP focus and agent_guardrail_mandate association. However, the purpose is buried in heavy jargon (OpenChainGraph, AP2 artifact, FV-status) and never plainly states what the diagnostic computes or what 'fit' means, keeping 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute-mode behavior ('auto' defaults to server-side, 'browser' forces client-side and returns a delegation URL, gpu:true always delegates) and explicitly warns to 'Use synthetic or anonymised inputs only'. It also lists downstream output feeds. But it never states when to select this tool versus any alternative, nor when not to use it. Guidance is context-rich but lacks directive routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_model_test_batteryModel Test BatteryARead-onlyIdempotentInspect
Model Test Battery: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-489-model-test-battery.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only and idempotent, and the description adds substantial behavioral detail: inputs are processed transiently and not stored/logged/retained, browser delegation is forced under certain conditions, gpu:true nodes always delegate, and an AP2 artifact with execution_hash is exported. This is exactly the kind of context that annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and mostly front-loaded, but 'OpenChainGraph compute node' is effectively repeated, and the FV-status URL/receipt sentence is peripheral to invocation. It could be tightened without losing useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested policy_parameters object, the description only partially defines the return contract: it mentions the execution_hash artifact and browser delegation URL but not the full response/artifact structure. It also defers policy_parameters field names to an external manifest, leaving a gap for the agent. Otherwise, the 100% schema coverage and rich behavioral notes make it mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are already documented in the schema at 100% coverage, so the baseline is 3. The description reinforces the compute enum and mentions execution_hash/provenance, but it does not add meaningful field-level semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and role ('OpenChainGraph compute node (compliance_control)') and explains that it is deterministic and exports an AP2 artifact with an execution_hash, so it goes beyond a tautology. It still leans on the title 'Model Test Battery' rather than stating in plain language what the battery actually tests, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance such as 'Use synthetic or anonymised inputs only' and explains compute mode behavior, but it never states when to prefer this tool over any sibling or when not to use it. No alternatives or exclusion conditions are named, so the agent is left to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_pqc_timeline_fitPQC Timeline & Migration Fit DiagnosticBRead-onlyIdempotentInspect
PQC Timeline & Migration Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-86-tls-pki-migration-planner, art-87-iso20022-pqc-readiness-checker, art-88-fido-pqc-conformance-checker, art-89-blockchain-quantum-risk-classifier, 499-crypto-asset-inventory-classifier, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-85-pqc-timeline-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) are reinforced and extended by the description: transient processing ('are not stored, logged, or retained'), deterministic behavior, and the gpu:true-always-delegates / browser-delegation-URL behavior. It also adds a synthetic-input security caveat. No contradiction with annotations — the described export is an output artifact, not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the first sentences carry the load, but the description is dense and includes peripheral content: the downstream-artifact list (arguably useful), the artifact URL, and an FV-status JSON hash and 'snapshot, not a subscription' note. The FV-status receipt and URL are low-value for tool selection and invocation, making the description longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately complex tool (4 params, a nested policy_parameters object, no output schema), the description leaves real gaps: it does not describe the immediate return payload beyond 'exports an AP2 artifact', and the policy_parameters field names are relegated to an external manifest, so an agent has no in-band way to construct them. Downstream consumers are listed, but the immediate invocation contract is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 recaps compute-mode semantics already fully documented in the schema's compute field description ('auto'/'server'/'browser' and gpu delegation), adding little new meaning. It notably does not enumerate the policy_parameters fields, which the schema defers to an external 'tool's manifest' — so parameters are adequately but not richly described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line states a specific purpose ('PQC Timeline & Migration Fit Diagnostic') on a specific resource (OpenChainGraph compute node), and describes its key output (AP2 artifact with execution_hash). It also lists downstream consumers, which clarifies what the tool produces. It does not explicitly differentiate itself from the many sibling run_*_fit_diagnostic tools (e.g., run_ai_governance_fit, run_t1_readiness_diagnostic), so 'diagnostic vs sibling' separation is left to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one concrete usage constraint ('Use synthetic or anonymised inputs only') and explains compute-mode behavior that helps an agent choose modes. However, it never states when to select this tool versus closely-related siblings such as plan_tls_pki_migration, compute_pqc_deadline_ladder, or check_fido_pqc_conformance — no explicit exclusions or alternative-routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_rate_shock_ladderRate Shock Ladder ReplayCRead-onlyIdempotentInspect
Rate Shock Ladder Replay: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-369-run-rate-shock-ladder.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
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 valuable context: deterministic execution, improved server-side vs client-side semantics, transient processing without storage or logging, execution_hash provenance, and AP2 artifact export. This materially informs an agent about side effects and trust boundaries beyond the annotations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer and not tightly structured; it repeats 'OpenChainGraph compute node' and includes lower-value provenance, URL, and FV-status verbosity that an agent does not need for tool selection/invocation. It is front-loaded with the title-like phrase, but the extra server/browser/gpu/provenance details are not organized into an easy-skimmable form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description clarifies compute modes, non-retention, and artifact provenance, which helps execution confidence. However, the actual decision-model inputs in policy_parameters are undeveloped, there is no output schema or return contract, and the 'rate shock ladder' semantics are entirely omitted. Given the nested-object parameter and lack of any output schema, this is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter schema coverage is 100%, so baseline is 3. The description reinforces the compute enum semantics (auto vs browser vs gpu:true delegation) but adds little beyond the schema. For policy_parameters, it defers to a manifest, so it provides almost no in-place semantic enrichment for the most opaque parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description and title identify a 'Rate Shock Ladder Replay' as a deterministic OpenChainGraph compute node, which suggests the general function but never squarely states what a rate shock ladder replay does or what it consumes. It does not meaningfully differentiate the tool from nearby siblings such as evaluate_irrbb_sot_eve or replay_supervisory_scenario. The purpose is vaguely inferable, not clearly specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance about when to use this tool versus alternatives. The compute-mode explanation is about runtime mechanics, not use-case selection, and 'use synthetic or anonymised inputs only' is data-handling policy rather than a when-to-use guideline. No sibling comparison is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_regrpt_edit_checksPublished Regulatory Report Edit-Check RunnerCRead-onlyIdempotentInspect
Published Regulatory Report Edit-Check Runner: OpenChainGraph compute node (regulatory_reporting). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-484-regrpt-editcheck-runner.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly=true, idempotent=true, destructive=false. The description adds that execution for gpu:false nodes happens server-side on Cloudflare Workers and is deterministic, which is genuinely useful operational context. However, no mention of rate limits, authentication, side effects, or failure modes — the description could add more behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise but contains redundancy ("OpenChainGraph compute node" appears twice in essence, and 'regulatory_reporting' is both in the title and description). It conveys the execution environment and compute binding, which is useful, but the repetition suggests room for tighter copy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description tells the agent where and how the node runs (OpenChainGraph, Cloudflare Workers, server-side for gpu:false) and how to force compute mode, which is meaningful operational context beyond the schema. But it lacks any statement about what the tool returns, expected inputs beyond the compute binding, or error/domain constraints, leaving an agent to infer much of the behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented. The description adds useful context for policy_parameters ("this tool's decision function") and explains compute="auto" semantics and where computation happens for gpu:false nodes. But it defers parameter details to the schema/manifest rather than enumerating them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name repeated with light expansion. "Published Regulatory Report Edit-Check Runner" plus "OpenChainGraph compute node" restates the title without stating the action in verb form. An agent can infer what it does from the name, not from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus the many sibling run/compute/validate tools. The only differentiator offered is the OpenChainGraph execution context, which doesn't help a router decide between this and closely named alternatives like run_call_report_edit_checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_robinhood_chain_fit_diagnosticRobinhood Chain Fit DiagnosticBRead-onlyIdempotentInspect
Robinhood Chain Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-317-rhc-multiplier-reconciler, art-318-rhc-regime-mapper, art-319-rhc-valuation-linter, art-320-rhc-collateral-haircut, art-321-rhc-bold-finality-classifier, art-322-rhc-ap-redemption-stress. Open at: https://ainumbers.co/chaingraph/art-323-rhc-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent annotations: it discloses server- vs browser-side compute behavior, deterministic execution, transient input handling, no storage/logging/retention, and AP2 artifact provenance. For a compute/dispatch tool, that is exactly the side-effect 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and mostly front-loaded, but the first two sentences repeat 'OpenChainGraph compute node'. The long downstream feed list, FV-status hash, and receipt verification note add provenance noise beyond what is needed to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers compute behavior, privacy, browser delegation, output feeds, an artifact URL, and provenance — far more than most. It is still incomplete on the actual 'fit' semantics and the 'policy_parameters' expected field names, which are deferred to a manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters well, so baseline is 3. The description mostly restates the compute mode behavior already covered by the schema, adding only a minor Cloudflare Workers detail. It does not meaningfully clarify parent_tool_ids pairing or policy_parameters field shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that this is a 'Deterministic OpenChainGraph compute node' and labels it a 'Robinhood Chain Fit Diagnostic', but it never says what the fit actually evaluates or what verdict/score is produced. That makes it difficult to distinguish from the several sibling run_*_fit_diagnostic tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no 'use this when...' guidance, no exclusion, and no named alternative. The instruction to 'Use synthetic or anonymised inputs only' is a guardrail, not a selection criterion, so an agent gets almost no help choosing between this and related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_sanctions_screening_fitSanctions & Export-Control Screening Fit DiagnosticBRead-onlyIdempotentInspect
Sanctions & Export-Control Screening Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-91-ownership-50pct-aggregator, art-92-screening-list-coverage-checker, art-93-fuzzy-match-calibration-scorer, art-94-eccn-dual-use-classifier, art-95-circumvention-diligence-assessor, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-90-sanctions-screening-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining compute modes (auto/server/browser), transient processing with no storage/logging/retention, the browser delegation URL behavior for gpu:true nodes, determinism, and the AP2 export with execution_hash. It also discloses the FV-status snapshot semantics. This is rich behavioral context that the annotations alone don't provide, and it aligns with readOnlyHint and idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one dense block with redundant phrasing ('OpenChainGraph compute node' appears twice) and includes peripheral details like the FV-status URL and output-feed list without clear structure. While each sentence carries some technical value, the repetition and lack of organization make it harder for an agent to quickly extract the essential invocation semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers compute mechanics, data handling, and the artifact output, but it never states what the diagnostic actually evaluates or how policy_parameters should be populated. With no output schema, it also doesn't explain the AP2 artifact's structure beyond the execution_hash. It is adequate for invocation but leaves domain-level gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds useful context about the compute parameter's modes (server-side on Cloudflare Workers, browser delegation URL), but it doesn't add semantics for parent_hashes, parent_tool_ids, or the internal structure of policy_parameters beyond what's in the schema. It doesn't compensate for the 'see manifest' gap in policy_parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Sanctions & Export-Control Screening Fit Diagnostic' and an OpenChainGraph compute node, clearly stating its domain and that it produces an AP2 artifact. It doesn't use an explicit verb like 'runs a diagnostic' but the name plus title make the function evident. It lacks differentiation from other run_*_fit siblings, so it doesn't get full marks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like run_sanctions_screening_quality or screen_sanctions_private. The instruction to 'use synthetic or anonymised inputs only' is a data-handling constraint, not usage context. It also doesn't say what conditions would make this diagnostic the right choice vs. a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_section125_ndt§125 Cafeteria Plan Nondiscrimination TesterARead-onlyIdempotentInspect
§125 Cafeteria Plan Nondiscrimination Tester: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-301-section125-ndt.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is transparent about data handling: 'Inputs are processed transiently... and are not stored, logged, or retained', including the security-relevant callout 'Use synthetic or anonymised inputs only.' It clearly signals the deterministic, read-only nature via 'Deterministic' and the annotations' readOnlyHint: true / destructiveHint: false. The FV-status (published/proven/still-trusted) section describes the verification model and the nature of the artifact as a snapshot. It loses one point for not disclosing anything about output format or error behavior beyond the execution_hash mention, though the annotation overlap mitigates that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but logically structured: identity and implementation ('OpenChainGraph compute node (compliance_mandate)') → compute mechanics → privacy/security → artifact output → external reference → verification status. Every clause earns its place, and no word is wasted. One point deducted for the slightly tangled nested conditional ('By default (compute:auto) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:browser forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate') which, while accurate, could be simplified or structured in a table or list form without losing precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and the provided schema (which is already self-describing with enum values and descriptions), the description provides complete additional context: the regulatory domain (§125 Cafeteria Plans), the execution model (deterministic server/browser compute), the security model (no retention, synthetic data only), and the verification/provenance system (AP2 artifact with execution_hash, FV-status reference). No output schema exists, so the description's explicit mention of the AP2 artifact output partially covers that gap. The only potential addition would be expected return values from the nondiscrimination test, but that's arguably out of scope for a description of this tool's invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — every parameter is described. The description adds context about the execution model ('computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel') which clarifies the semantic of the policy_parameters field. However, the policy_parameters description itself is somewhat hand-wavy: 'See the tool's manifest for field names' — the description could have elaborated on what those policy parameters are for a §125 nondiscrimination test beyond pointing to an external 'tool's manifest'. The compute parameter is well-documented but the policy_parameters object essentially defers its documentation to an off-schema reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title + description makes the tool's purpose unmistakable: a §125 Cafeteria Plan Nondiscrimination Tester implemented as a deterministic OpenChainGraph compute node. It clearly differentiates itself from the 800+ siblings (which include run_*, compute_*, verify_*, lint_*, etc.) by leading with the specific compliance regulation, adding '(compliance_mandate)' as a strong behavioral/status marker, and then precisely specifying the compute backend options. The description of the three compute modes (auto/server/browser) and GPU conditions leaves zero ambiguity about when this tool is the correct one versus sibling run_* and compute_* nodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when/when-not usage guidance through the compute parameter: default behavior on Cloudflare Workers for gpu:false nodes with registered kernels, when to force client-side execution, and the rule that gpu:true always delegates to the browser. It even provides an alternative (browser delegation URL) with its trigger condition. The 'For gpu:false nodes with a registered kernel, these are computed server-side when compute is auto or server' phrasing is a near-perfect union of description and schema, giving routing decisions for both the agent and the human reviewer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_slate_reporting_fitSLATE Reporting Readiness DiagnosticARead-onlyIdempotentInspect
SLATE Reporting Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-544-slate-report-validator. Open at: https://ainumbers.co/chaingraph/art-545-slate-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral details beyond the annotations: 'inputs are processed transiently to compute the response and are not stored, logged, or retained', which explains the data handling. It also mentions 'Exports an AP2 artifact with execution_hash for chain provenance' and 'Consumes upstream artifacts from: art-544-slate-report-validator', revealing side effects and dependencies. The FV-status note explains offline verifiability. These go far beyond the readOnly/idempotent annotations and give an agent confidence in side effects and data handling. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph that mixes multiple concerns: purpose, compute modes, data handling, artifact export, upstream consumers, and a verification URL. While front-loaded with the essential compute-mode behavior, it also includes a long hash and a URL that could be considered implementation details. Each sentence has some domain relevance, but the overall structure is a wall of text. It could be split into clearer sections (e.g., behavior, data handling, provenance) to improve scanability without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the key aspects: input behavior, compute modes, side effects (AP2 artifact, execution hash), and even offline verification of the FV-status receipt. However, it does not describe the shape or content of the returned diagnostic result beyond 'browser delegation URL' and 'AP2 artifact', which might leave an agent unsure about what fields to expect in the output (e.g., readiness score, issues list). Given the tool's complexity, this is a minor gap, and the description is otherwise comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already provides detailed descriptions for all four parameters, including the compute enum values and their meanings. The description does not add new information about the parameters beyond restating the compute behavior. For example, the policy_parameters field is only referenced indirectly via 'See the tool's manifest for field names,' which adds no extra semantic value. Thus, the description meets the baseline but does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource: it is a 'SLATE Reporting Readiness Diagnostic' that is an 'OpenChainGraph compute node' and 'Deterministic'. This goes beyond a tautology by specifying the domain (SLATE reporting), the mechanism (OpenChainGraph), and the deterministic nature. It differentiates from siblings like 'validate_slate_report_fields' or 'run_slate_reporting_fit' by explicitly framing this as a readiness diagnostic that computes results, not just validates or routes. The description also explains the compute modes (server-side vs. browser) as part of its behavior, which further clarifies its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly explains when to use different compute modes: 'By default (compute:"auto") inputs are computed server-side... compute:"browser" forces client-side execution', and notes that 'gpu:true nodes always delegate to the browser'. It also gives a critical usage instruction: 'Use synthetic or anonymised inputs only.' However, it does not explicitly name alternative tools or state 'use this instead of X', so it lacks the explicit exclusions of a 5. Still, the context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_t1_readiness_diagnosticT+1 Settlement Readiness DiagnosticARead-onlyIdempotentInspect
T+1 Settlement Readiness Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-78-csdr-penalty-calculator, art-79-settlement-fail-predictor, art-80-ssi-conformance-checker, art-81-allocation-affirmation-conformance, art-82-securities-settlement-message-linter, art-83-buy-in-exposure-modeler, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-77-t1-settlement-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description thoroughly explains execution behavior: deterministic compute, server-side vs client-side delegation, GPU handling, transient processing with no storage/logging/retention, and the use of synthetic/anonymised inputs. It also mentions the exported artifact and provenance details, making behavior fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-structured, covering execution modes, data handling, output feeds, and a URL. It is informative, though could be condensed without losing essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides extensive context: execution modes, data retention policy, output feeds, a URL for details, and FV-status link. It also advises using synthetic inputs, which rounds out the operational picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions compute parameter (auto/browser) and gpu flag, but does not document the actual input schema or data fields for the readiness diagnostic. The core input parameters are not described, leaving ambiguity for callers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name 'run_t1_readiness_diagnostic' and title 'T+1 Settlement Readiness Diagnostic' clearly identify the tool's purpose. The description explicitly states it's a deterministic compute node for T+1 settlement readiness, with a link to the live tool, making the intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context: execution modes (auto/browser), GPU handling, and a directive to use synthetic/anonymised inputs. It also lists downstream consumers. However, it doesn't explicitly compare against alternative tools or state when not to use it, which is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_tempo_fit_diagnosticTempo Fit DiagnosticARead-onlyIdempotentInspect
Tempo Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-35-tempo-payments-business-case, art-36-tempo-mpp-agent-mandate, art-37-tempo-stablecoin-issuance, art-40-tempo-agentic-checkout. Open at: https://ainumbers.co/chaingraph/art-34-tempo-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining determinism, server-side vs. browser delegation behavior, transient non-retention of inputs, output of an AP2 artifact with execution_hash, and the offline-verifiable FV-status receipt. These are meaningful behavioral disclosures the annotations do not provide. No contradiction with readOnlyHint/idempotentHint was found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loads the node type, but it is long and repeats 'OpenChainGraph compute node' within two consecutive sentences. It also carries several auxiliary details such as URLs and artifact IDs that, while possibly useful, make it less crisp than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description still conveys key outputs: a browser delegation URL, an exported AP2 artifact with execution_hash, and downstream artifact IDs. It covers non-retention, safe inputs, and compute behavior. The main gap is that the exact response shape for server-side computation and the policy_parameters manifest fields are not described, but the tool is invocable with default arguments.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the parameters. The description reinforces compute-mode behavior and mentions policy_parameters only indirectly by pointing to the manifest, without adding field-level detail. This is adequate but does not materially expand upon the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a deterministic OpenChainGraph compute node and names its concrete downstream artifacts (Tempo payments, MPP agent mandate, stablecoin issuance, agentic checkout), so an agent can see what the diagnostic feeds. It lacks a plain-language statement of what the Tempo Fit Diagnostic evaluates, but the title plus output feeds make the core purpose recoverable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the node type and named output feeds, and there is useful guidance on compute modes and using synthetic/anonymised inputs. However, the description never says when to select this diagnostic over sibling fit diagnostics or when not to use it, and it names no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_tokenized_settlement_fitWholesale Tokenized Settlement Fit DiagnosticARead-onlyIdempotentInspect
Wholesale Tokenized Settlement Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-57-deposit-token-compliance-validator, art-58-cross-network-settlement-validator, art-59-settlement-asset-finality-classifier, 505-tokenized-collateral-eligibility-checker, 509-canton-party-allowlist-validator, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-56-tokenized-settlement-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnly/idempotent/non-destructive, and the description adds substantial beyond-annotation behavior: deterministic execution, transient processing with no storage/logging/retention, server-side Cloudflare Workers vs browser delegation, AP2 artifact export with execution_hash, and FV-status snapshot semantics. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loaded with the purpose and compute behavior, but it repeats 'OpenChainGraph compute node' in consecutive sentences and appends long downstream-artifact and FV-status strings without structure. Every clause adds some value, but organization is flat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned fit diagnostic actually looks like beyond 'execution_hash' and downstream feed names. It covers privacy, compute modes, and provenance well, but leaves the core decision output and policy_parameters format to an external manifest/artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds a little context around compute modes (Cloudflare Workers, browser delegation URL) but does not clarify policy_parameters field names or value semantics, pointing only to a manifest; this is adequate but not compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the resource (wholesale tokenized settlement fit) and the operation (diagnostic compute node that exports an AP2 artifact), and the output feeds clarify its role in the settlement-validation pipeline. It does not explicitly differentiate from sibling run_*_fit diagnostics such as run_digital_trade_fit or run_mica_casp_fit, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context: use synthetic/anonymised inputs, compute modes, and downstream consumers (art-57, art-58, etc.). But it never states when to choose this tool over alternative settlement or fit tools, nor does it name exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_treasury_clearing_fitTreasury Clearing Fit DiagnosticCRead-onlyIdempotentInspect
Treasury Clearing Fit Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Regulatory deadline: 2026-12-31 (SEC UST clearing: cash Dec 31 2026, repo Jun 30 2027. D0 root of all treasury-clearing chains.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-49-clearing-access-model-selector, art-50-ficc-margin-netting-estimator. Open at: https://ainumbers.co/chaingraph/art-48-treasury-clearing-fit-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses deterministic behavior, transient input processing (not stored/logged/retained), compute mode delegation rules (server vs browser), and the output artifact with execution_hash. These details go beyond the annotations' readOnlyHint and idempotentHint, though some are duplicated from the compute parameter description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is severely verbose and repetitive, repeating phrases like 'Deterministic OpenChainGraph compute node' and the full compute mode explanation verbatim. It also includes unrelated URLs and FV-status metadata, detracting from clarity and making the description hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description mentions output artifact and provenance but does not explain what the diagnostic result actually contains or how the output feeds into downstream tools. It lacks a clear statement of the input-to-output transformation, leaving the tool's role underspecified even with the schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for all four parameters, including compute mode, parent hashes, parent tool IDs, and policy parameters. The tool description adds minimal extra meaning beyond the schema, mostly repeating compute behavior, so it does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Treasury Clearing Fit Diagnostic' and references SEC UST clearing deadlines, but it obscures the core purpose with repeated generic phrases about compute mode and input handling. The exact diagnostic question or decision it evaluates is not stated explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions downstream outputs and a 'Use synthetic or anonymised inputs only' instruction, but it does not provide guidance on when to choose this tool over other run_*_fit_diagnostic alternatives. No explicit when-to-use or when-not-to-use conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_umr_aana_readinessUMR / AANA Readiness DiagnosticCRead-onlyIdempotentInspect
UMR / AANA Readiness Diagnostic: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-407-umr-aana-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive. The description adds compute-mode behavior (auto/server/browser), transient input handling, and artifact export with provenance. However, it is cluttered with irrelevant infrastructure details and does not clarify error or edge-case behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose, repeating 'compute node' and including a full URL and status-file path that are irrelevant to a user. It lacks a clear, front-loaded one-sentence summary of the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain the return value, but it only mentions 'exports an AP2 artifact' without stating what the diagnostic result (pass/fail, score, etc.) looks like. It also does not describe how the four parameters interact to produce that result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The compute parameter is well explained, and parent_hashes/parent_tool_ids are described as chaining. But policy_parameters, the core input, is left vague with only 'See the tool's manifest for field names.' The description adds no meaningful semantics about what policy parameters affect the diagnostic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as a 'UMR / AANA Readiness Diagnostic' but never explains what UMR/AANA means or what the diagnostic assesses. It is buried in compute-binding details (server-side vs browser). The core function remains ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many similar readiness diagnostic siblings (e.g., run_agentic_readiness_diagnostic, run_mica_casp_fit). It does not specify scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_vida_readiness_diagnosticViDA Compliance Readiness DiagnosticCRead-onlyIdempotentInspect
ViDA Compliance Readiness Diagnostic: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-163-vida-oss-registration-router. Open at: https://ainumbers.co/chaingraph/art-164-vida-compliance-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses determinism, compute mode behaviors (server vs. browser delegation), transient input processing (not stored/logged), and the export of an AP2 artifact with execution_hash. It also advises using synthetic/anonymized inputs, adding practical behavioral transparency beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes tangential details such as URLs, file hashes, and phrases like 'a snapshot, not a subscription' that are not essential for using the tool. It would benefit from tightening to focus on the diagnostic's purpose, inputs, and outputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what the readiness diagnostic evaluates, what the returned artifact/report looks like, or how to interpret results. It mentions exporting an AP2 artifact but not its content or structure, leaving out critical context for an agent to understand the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all four parameters with descriptions, so schema coverage is 100%. The tool description adds extra detail about the 'compute' parameter's modes and gpu:true delegation, but does not elaborate on parent_hashes, parent_tool_ids, or policy_parameters beyond the schema's existing descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and first phrase indicate a 'Compliance Readiness Diagnostic' for ViDA, but the description does not specify what aspects of compliance are assessed or what the diagnostic output contains. It emphasizes compute infrastructure and artifact provenance rather than the tool's core function, leaving the exact purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute mode behaviors but provides no guidance on when to use this tool versus the many sibling diagnostics (e.g., run_dora_readiness_diagnostic, run_mcp_deployability_diagnostic). It does not mention alternatives or conditions that would favor this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_vop_readiness_diagnosticVoP Readiness DiagnosticARead-onlyIdempotentInspect
VoP Readiness Diagnostic: OpenChainGraph compute node (vop_readiness_attestation). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-548-vop-readiness-diagnostic.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare safe read-only, idempotent, non-destructive hints. Description adds valuable behavioral context: inputs are processed transiently and not stored/logged/retained, deterministic execution, export of an AP2 artifact with execution_hash, and the warning to use synthetic/anonymised inputs only. No contradiction; description goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long and includes extraneous details such as a full URL and FV-status hash link. It is front-loaded with the purpose, but the density of technical specifics (compute modes, links, status snapshot) makes it less concise than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers many aspects: compute modes, determinism, privacy (no storage), artifact export, and URL. However, because there is no output schema, the description does not clearly state the structure of the returned readiness result (only mentions an AP2 artifact and a browser delegation URL). The provided links might help but are not self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a description. The description adds extra clarity on compute modes (matches schema) and advises 'Use synthetic or anonymised inputs only' plus points to the tool manifest for policy_parameters fields. This is modest additional value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific purpose: 'VoP Readiness Diagnostic' as an OpenChainGraph compute node that produces a vop_readiness_attestation. This clearly distinguishes it from sibling diagnostic tools like 'run_dora_readiness_diagnostic' by naming the domain (VoP) and the deliverable (attestation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Does not explicitly state when to use this tool over siblings (e.g., 'use when you need a VoP readiness check'). It explains compute-mode behavior (auto/server/browser) but no selection guidance against other readiness diagnostic tools. Only implies usage via the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_tool_poisoningMCP Tool-Poisoning & Prompt-Injection Manifest ScannerARead-onlyIdempotentInspect
Scan an MCP tool description/manifest for tool-poisoning and prompt-injection smells; returns a risk score and flagged patterns. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| risk | No | |
| findings | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating a safe read operation. The description adds valuable behavioral context: the tool runs client-side, zero PII, zero network, and renders an interactive widget. This goes beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long. The first sentence states the core purpose and return value. The second sentence adds important context about widget rendering, client-side execution, and data privacy. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (security scanning, widget rendering), the presence of an output schema, and full schema coverage, the description provides key behavioral details (client-side, zero PII, zero network) but does not explain the risk score scale or specific flagged patterns. However, these are likely covered by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the only parameter 'inputs'. The description adds meaning by explaining that inputs are 'a map of tool input element IDs to values' and that they are 'applied via AIN Bridge prefill'. This clarifies the parameter's role beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Scan' and identifies the resource as 'MCP tool description/manifest'. It clearly states the tool detects 'tool-poisoning and prompt-injection smells' and returns a risk score and flagged patterns. This distinguishes it from siblings like 'lint_mcp_tool_definition' (structural linting) and 'find_tool' (search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the tool scans for security smells, but it does not provide explicit guidance on when to use it versus alternative tools, nor does it mention scenarios where the tool should not be used. The usage context is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scope_mica_token_and_serviceMiCA Token & Service ScoperARead-onlyIdempotentInspect
MiCA Token & Service Scoper: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-98-mica-casp-fit-diagnostic. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-105-mica-token-service-scoper.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description excels beyond the annotations, revealing that inputs are processed transiently, not stored, logged, or retained, and that execution is deterministic. It also explains compute mode behavior (server-side vs. browser delegation) and the export of an AP2 artifact with execution_hash. This adds significant context not present in the annotations, which only cover read-only and non-destructive flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph covering multiple critical aspects: function, compute modes, privacy, data flow, and verification URL. It is information-dense without excessive fluff, but the lack of structured formatting (e.g., bullets) makes it harder to scan. Each sentence contributes value, though it could be more scannable for agents extracting key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema covers parameters and annotations cover safety, the description fills in gaps about data handling, determinism, and artifact chaining. It does not describe the exact output structure, but the mention of an AP2 artifact with execution_hash offers some insight. It is sufficiently complete for an agent to understand the tool's role, though a brief note on what 'scope' produces would improve it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover 100% of parameters, including detailed notes on compute modes and parent_hashes. The description repeats some of this (e.g., browser delegation) but does not add new parameter-level details beyond what the schema provides. It does tie parameters to the execution_hash and chain context, which is marginal value over the schema. Baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an OpenChainGraph compute node for scoping MiCA tokens/services, with a specific role in the pipeline (consumes from art-98, feeds cry-05). The phrase 'MiCA Token & Service Scoper' is specific about its function, though domain-specific jargon like 'scoper' may be ambiguous without additional context. The description distinguishes it from other tools by its compute mode mechanics and deterministic nature, which helps an agent understand its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives. It provides detailed operational conditions (compute modes, gpu:true) but no 'use this when' or 'prefer this over X' guidance. Without explicit exclusions or alternatives, an agent could struggle to decide when this tool is the right choice, especially given the large number of similar-sounding sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_agent_insurability_evidenceAgent Insurability Evidence ScorerCRead-onlyIdempotentInspect
Agent Insurability Evidence Scorer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-307-claim-dispute-bundle-builder. Open at: https://ainumbers.co/chaingraph/art-306-agent-insurability-evidence-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals several behavioral traits beyond the annotations, including determinism, transient processing of inputs (not stored/logged/retained), and the note to use synthetic or anonymised inputs. It also specifies compute mode behaviors (server vs. browser delegation). However, these details are generic and not specific to the tool's core operation, and no side effects or permission requirements are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly verbose and filled with irrelevant infrastructure details (URLs, FV-status, GPU references) that obscure the tool's purpose. It repeats information (e.g., 'Deterministic OpenChainGraph compute node' appears in the first two sentences) and includes technical placeholders that do not help a user. The structure is poor, with no clear separation of purpose, usage, or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential information about the tool's decision logic, output format, and how the score is produced. It mentions exporting an AP2 artifact but does not describe its structure or meaning. Given the tool's relative simplicity (four inputs, no output schema), the description should explain what the scoring function does, but it does not, leaving agents without enough context to use the tool properly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add any meaningful semantics to the input parameters beyond what the schema already provides. For example, it repeats the compute mode options but does not explain how 'policy_parameters' influence the scoring or how parent hashes/tool IDs are used. The line 'See the tool's manifest for field names' defers without adding value. With high schema coverage, the baseline is 3, but the description fails to add any contextual information, so a 2 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'Agent Insurability Evidence Scorer' but does not explain what insurability evidence is, how scoring works, or what the output represents. It focuses on generic compute infrastructure (compute modes, Cloudflare Workers, browser delegation) rather than the tool's specific function, making it difficult for an agent to understand when to invoke it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. While it mentions that outputs feed into another artifact, it does not state selection criteria, prerequisites, or scenarios where this scorer is appropriate. The description lacks any direction that would help an agent choose it over similar scoring 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.
score_aml_typologiesAMLA Transaction-Typology Risk ScorerBRead-onlyIdempotentInspect
AMLA Transaction-Typology Risk Scorer: OpenChainGraph compute node (risk_control). Regulatory deadline: 2027-07-01 (EU AMLR full application July 2027; AMLA full operations 2028). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: cry-01-zk-compliance-proof-generator, art-11-vop-batch-match-rate-analyser, ptg-01-ap2-prompt-template-generator, mms-03-app-fraud-graph, ml-01-isolation-forest. Open at: https://ainumbers.co/chaingraph/art-10-amla-transaction-typology-risk-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses far beyond what the annotations provide: determinism, transient input handling with explicit 'not stored, logged, or retained' language, the side effect that compute:'browser' returns a delegation URL instead of computing, AP2 artifact export with execution_hash for chain provenance, and a named list of five downstream consumers. The FV-status receipt even explains itself ('a snapshot, not a subscription; verifies offline'). These details align with and extend readOnlyHint/idempotentHint, which alone is 4-5x richer than the annotation layer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but not bloated: the compute-mode rationale, data-retention guarantee, and synthetic-data warning all earn their place, and the output-feeds list is a clean use of a serial enumeration. However, it opens with the tautological title repeat, the regulatory-deadline sentence is an orphan with unclear bearing on the agent ('deadline' for what action?), and the FV-status sentence is verbose enough to deserve trimming. Solid structure underneath, but the leading word-waste costs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool of this complexity — four params including a nested opaque object, custom compute modes, gpu-dependent delegation, artifact export, and no output schema — the description covers operational essentials well: how data flows, what is required to invoke correctly (parent_hashes/tool_ids), where output flows next, and how to verify provenance. The gaps are the clarification of what policy_parameters expects, a worked input/output example, and clarity on what the regulatory deadline actually gates. Those feel like polish items next to the strong pipeline context already provided via the consumer list and verification hash.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters. The description does re-explain compute modes in prose, but this adds little beyond what the compute enum already specifies. The most opaque parameter, policy_parameters, defers to 'see the tool's manifest for field names' in the schema, and the description offers no better guidance — a missed opportunity for the description to add what the schema could not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'AMLA Transaction-Typology Risk Scorer,' which is essentially a verbatim restatement of the title — a near-tautology that names the tool without explaining it. It pivots immediately into compute-delegation mechanics (Cloudflare Workers, gpu:true, browser URLs) while never defining what a 'transaction-typology risk score' represents or what the output means. An agent would know the tool is fast, idempotent, and federated to a browser, but not what domain problem it solves beyond what the tool name already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guardrail is a hard constraint: 'Use synthetic or anonymised inputs only' — valuable, but it's a boundary condition, not guidance on when to select this tool. There is no mention of alternatives, when NOT to use this tool, or what distinguishes it from siblings like score_sanctions_screening_quality or detect_transaction_anomalies. The compute-mode prose ('auto' vs 'browser') explains behavior under the hood but never tells the agent 'pick this when…' — leaving the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_cash_forecast_accuracyCash Forecast Accuracy ScoringCRead-onlyIdempotentInspect
Cash Forecast Accuracy Scoring: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-258-parse-camt053-reconciliation, art-261-test-hedge-effectiveness. Open at: https://ainumbers.co/chaingraph/art-263-score-cash-forecast-accuracy.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnly, idempotent, non-destructive; the description adds substantial behavioral context beyond them: determinism, transient processing with 'not stored, logged, or retained', compute-mode delegation semantics (gpu:true always delegates to browser), AP2 artifact export with execution_hash for chain provenance, and FV-status receipt verification. This meaningfully enriches what an agent knows about side effects and execution, with no contradiction against 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is packed with genuinely useful operational detail (compute behaviors, transient processing, upstream artifacts), but it is front-loaded with the compute-mode plumbing and trails into low-relevance invocation facts such as the full product URL and the FV-status digest hash with its verification caveats. It is not tightly organized for decision-making and carries several sentences that a caller does not need to decide whether or how to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and four parameters (including an opaque nested policy_parameters whose fields are deferred to the manifest), the description does not get an agent to a self-contained invocation: it explains the execution plumbing thoroughly but never states what inputs the decision function actually requires or how the accuracy score is computed/returned. The runtime dependency on upstream artifacts is named, which helps, but the missing input/output semantics leave a material gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents compute, parent_hashes, parent_tool_ids, and policy_parameters well, so a baseline 3 applies. The description adds nothing over the schema for these parameters; notably it repeats the schema's own deferral for the nested policy_parameters ('See the tool's manifest for field names'), so the field names remain opaque to an agent in both places — but this neither improves nor worsens the schema-level semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource ('score cash forecast accuracy') is clear from the name and title, and the description adds that it is a 'deterministic OpenChainGraph compute node' with an 'analytics_mandate', which establishes its nature. However, most of the text explains infrastructure (compute modes, Cloudflare Workers, browser delegation, provenance) rather than what the scoring actually does or what a score means, and it does not differentiate itself from the many sibling score_* tools beyond a vague analytics mandate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use vs. alternative guidance, even though dozens of sibling score_* / compute_* tools exist. The description implies a prerequisite chain by naming the upstream artifacts it consumes (art-258-parse-camt053-reconciliation, art-261-test-hedge-effectiveness), which hints that those tools must run first, but this is left implicit. The 'use synthetic or anonymised inputs only' line is a data constraint, not a task-selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_clause_coverageClause Coverage ScorerCRead-onlyIdempotentInspect
Clause Coverage Scorer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-410-clause-coverage-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description complements this by explaining the deterministic nature, the three compute modes with browser delegation behavior for gpu:true nodes, and that inputs are processed transiently without storage or logging. The 'Use synthetic or anonymised inputs only' constraint is valuable security context. These details go beyond the annotations meaningfully, though the deep FV-status/provenance exposition is tangential.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the identity ('Clause Coverage Scorer: OpenChainGraph compute node') and the deterministic property, but then sprawls through compute-mode branches, transient-processing caveats, AP2 artifact exports, a URL, and an extended FV-status snapshot explanation. Several clauses (the verification-receipt digression) do not earn their place and dilute the core message. It is verbose, not merely long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey the return values, and it only vaguely states 'Exports an AP2 artifact with execution_hash for chain provenance.' It does not describe the actual scoring result. More critically, the primary input policy_parameters is deferred to an absent manifest, so an agent cannot construct a valid call. For a data-scoring tool, this is a substantial completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all four parameters in detail. The description adds context for the compute parameter and notes that policy_parameters are computed server-side, which aligns with the schema. However, for the critical policy_parameters object it only defers to 'the tool's manifest for field names' — a manifest not provided — leaving the agent without the actual field semantics it needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Clause Coverage Scorer' and an 'OpenChainGraph compute node (compliance_mandate)', giving a verb-resource pairing. However, it never explains what 'clause coverage' actually means, what coverage is being scored, or what the output score represents. The core function is obscured by heavy focus on compute-mode mechanics and provenance details, so an agent still cannot tell what substantive task this performs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, and no sibling tools are mentioned. The only usage-type constraint is 'Use synthetic or anonymised inputs only,' which is a data-safety rule rather than a use-case selector. An agent gets no help distinguishing score_clause_coverage from the dozens of other score_* tools in the registry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_credit_default_riskCredit Default Risk ScorerBRead-onlyIdempotentInspect
Credit Default Risk Scorer: OpenChainGraph compute node (credit_assessment). Regulatory deadline: 2027-12-02 (EU AI Act Annex III Part 5(b) credit-scoring high-risk obligations — 2 December 2027, per the Digital Omnibus amendments (June 2026); EBA GL/2017/16 IRB model performance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-05-eu-ai-act-credit-scoring-conformity. Output feeds: sim-03-basel-rwa-scenario-modeler, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/ml-02-credit-default-risk-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations, such as 'Inputs are processed transiently to compute the response and are not stored, logged, or retained' and 'Deterministic OpenChainGraph compute node'. It also mentions provenance with execution_hash, which is not covered by the readOnlyHint or idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and includes extraneous details like regulatory deadline text, URLs, and FV-status hash that do not help an agent call the tool. The core purpose is front-loaded, but many sentences do not earn their place, making it verbose and less concise than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description defers field names for policy_parameters to a separate manifest and does not describe the output format (no output schema). It provides context about processing and provenance but leaves the agent uncertain about required inputs and expected results, making it incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds a pointer to the manifest for policy_parameters field names and repeats compute mode semantics, but does not add significant meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a 'Credit Default Risk Scorer' and an 'OpenChainGraph compute node (credit_assessment)', giving a specific verb and resource. It distinguishes from other scoring tools by focusing on credit default risk, though it does not explicitly name a sibling alternative to contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage constraints like 'Use synthetic or anonymised inputs only' and explains compute modes, but it does not explicitly state when to use this tool versus alternatives or when not to use it. References to upstream/downstream artifacts give context but not clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_credit_model_quantizedQuantized Credit Model ScorerDRead-onlyIdempotentInspect
Quantized Credit Model Scorer: OpenChainGraph compute node (credit_assessment). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-348-score-credit-model-quantized.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does add one behavioral detail: inputs are processed transiently and not stored, and it exports an AP2 artifact with an execution_hash. However, it does not disclose what the tool actually does with the policy_parameters, how scoring is performed, or what the output represents. The annotations (readOnly, idempotent) are consistent, but the core behavior is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose and repetitive, repeating phrases like 'ChainGraph compute node' and 'gpu:false nodes' multiple times. It reads like a template with placeholders (e.g., the URL and hash appear twice). A clear, concise statement about the tool's purpose would be far more effective. The structure is not front-loaded with key information; it buries the actual functionality under generic infrastructure details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's apparent complexity (scoring a quantized credit model), the description is almost entirely missing the core context: what the tool does, what inputs it needs beyond the generic policy_parameters, what output it produces, and how it relates to other scoring tools. The description only covers execution mechanics, which is insufficient for an agent to understand when and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies the 'compute' parameter fully, explaining the auto/server/browser behavior and the gpu:false nuance. It also explains parent_hashes as upstream execution_hash values and policy_parameters as 'input parameters for this tool's decision function'. However, policy_parameters remains vague—it points to a manifest for field names rather than describing the actual scoring inputs. So it adds value for compute and provenance but not for the essential scoring parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is entirely generic boilerplate about compute modes, chain provenance, and transient processing. It never states that the tool scores a quantized credit model, what a 'credit model' means, or what scoring entails. The title implies a specific function but the description fails to mention it, making the purpose completely unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus any of the many sibling tools. The description only covers low-level execution details (compute modes, parent hashes) and does not mention any scenario, condition, or selection criterion that would help an agent decide to invoke this particular scoring tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_eudr_country_riskEUDR Country Benchmark Risk ScorerCRead-onlyIdempotentInspect
EUDR Country Benchmark Risk Scorer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-169-eudr-supply-chain-traceability-linker. Open at: https://ainumbers.co/chaingraph/art-168-eudr-country-benchmark-risk-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral context: inputs are processed transiently and not stored/logged/retained, it is deterministic, and compute modes (auto/server/browser) with gpu:true delegating to browser. It also advises using synthetic or anonymised inputs. This exceeds what annotations disclose and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, packed with infrastructure details (Cloudflare Workers, gpu, execution_hash, FV-status URL) that are irrelevant for an agent deciding whether and how to call the tool. It is not front-loaded with the essential purpose or usage; instead it buries the tool's actual function under technical jargon. Every sentence does not earn its place—much could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the tool has a generic policy_parameters object with no field definitions, and the description never specifies what inputs drive the country risk scoring or what theAP2 artifact contains beyond an execution_hash. It mentions an output feed but not how to interpret results. For a scoring tool with no output schema and nested parameters, this is a significant completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds no new parameter semantics—it merely repeats compute mode behavior already in the schema. For policy_parameters it says 'See the tool's manifest for field names,' which is unhelpful and leaves the actual risk-scoring inputs undocumented. Baseline 3 is appropriate since the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first phrase identify the tool as an EUDR Country Benchmark Risk Scorer, which conveys the general verb+resource. However, the description body focuses almost entirely on compute infrastructure (OpenChainGraph, Cloudflare Workers, gpu modes, AP2 artifacts) and never explains what country risk scoring actually does, what inputs define the risk, or how it differs from sibling scoring tools. It is not a tautology, but it is vague on the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool instead of alternatives. It does not mention any sibling tools or conditions for selection. The description only explains compute modes, which is operational detail, not usage direction. An agent would not know whether to pick this over score_credit_default_risk or run_eudr_readiness_fit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_fuzzy_match_calibrationFuzzy-Match Calibration ScorerARead-onlyIdempotentInspect
Fuzzy-Match Calibration Scorer: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-90-sanctions-screening-fit-diagnostic. Output feeds: art-97-sanctions-screening-quality-scorer, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-93-fuzzy-match-calibration-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the readOnly/idempotent/destructive annotations by disclosing determinism, server-side vs browser delegation semantics, transient non-retention of inputs, AP2 artifact export with execution_hash, chain provenance, and FV-status verification. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and includes valuable operational details, but it is not front-loaded with a crisp statement of what the tool does; the opening phrase restates the title. The FV-status block adds verifiability but lengthens the description considerably.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return values; it only mentions an AP2 artifact with execution_hash and a possible browser delegation URL, not the artifact's contents or scoring semantics. It also punts on policy_parameters field names by referring to a manifest. For a complex node with nested objects, this leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters well. The description reinforces compute-mode behavior and references policy_parameters as decision-function inputs, but adds no field-level detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Identifies the tool as a deterministic OpenChainGraph compute node for fuzzy-match calibration and positions it within a model_governance chain via upstream/downstream artifact links. However, it never explicitly states what the calibration output represents or what computation is performed, relying heavily on the title and chain references.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides substantial context: compute modes, gpu behavior, transient input handling, and a warning to use synthetic/anonymised inputs. It does not explicitly name alternative tools or state when to choose this tool over them, so usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_mcp_readinessMCP Developer Readiness ScorecardARead-onlyIdempotentInspect
Compute a composite MCP server ship-readiness score across tool definitions, server.json, OAuth, transport, tool poisoning, and spec compliance. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| overall | No | |
| sections | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant behavioral context beyond annotations: mentions client-side execution, zero network, AIN Bridge input application, and rendering as an interactive widget. Annotations already declare readOnlyHint=true and destructiveHint=false, but the description enriches understanding of the tool's execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences without redundancy: first states the core function, second adds key execution and privacy details. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the tool's scope, execution model, and privacy. Output format is omitted but an output schema exists, so that is acceptable. The description could mention the widget's interactive nature more, but overall complete given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes the 'inputs' parameter as a map from element IDs to values. The description echoes this by saying 'inputs are applied via the AIN Bridge', adding marginal clarification. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Compute' and the specific resource 'composite MCP server ship-readiness score'. Specifies the evaluation dimensions (tool definitions, server.json, OAuth, etc.), making it distinct from other score tools like score_aml_typologies or score_credit_default_risk. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context (client-side, zero PII, zero network) which implies safe usage for sensitive data, but does not explicitly compare to alternatives like run_mcp_deployability_diagnostic or attest_mcp_server. Lacks direct when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_mcp_server_readinessMCP Developer Readiness ScorecardARead-onlyIdempotentInspect
MCP Developer Readiness Scorecard: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-17-ap2-mcp-policy-validator, art-23-visa-trusted-agent-protocol-inspector, art-24-mastercard-agentic-token-builder, art-25-a2a-agent-card-validator, art-26-x402-payload-decoder-flow-simulator, art-27-agentic-readiness-diagnostic, art-28-mcp-server-deployability-diagnostic. Open at: https://ainumbers.co/chaingraph/art-18-mcp-developer-readiness-scorecard.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gaps | No | |
| note | No | |
| overall | No | |
| verdict | No | |
| sections | No | |
| gaps_count | No | |
| answers_used | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are 'processed transiently' and 'not stored, logged, or retained,' compute:'browser' returns a delegation URL, gpu:true nodes always delegate, and the FV-status receipt is described as a snapshot rather than a subscription. These operational details complement the readOnly/idempotent/destructive annotation hints effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and contains redundancy: 'OpenChainGraph compute node' appears twice in the opening, and the upstream artifact list plus URL/FV-status information consume a large share of the text. Although the compute behavior is front-loaded, the extra provenance boilerplate makes it less concise than needed for quick agent parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-required-parameter tool with nested objects and an output schema, the description adequately covers compute modes, transient input handling, and artifact provenance. However, it never clarifies what the readiness score represents or how to construct policy_parameters beyond a manifest pointer, leaving an important conceptual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 enriches the compute parameter beyond the schema's enum text by explaining auto/server/browser behavior and gpu:true delegation, and it adds the synthetic-or-anonymised-input constraint. It does not define policy_parameters field names beyond pointing to the manifest, but the schema already covers the parameter structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title and calling the tool a 'deterministic OpenChainGraph compute node,' but it never states with a clear verb what it actually computes or how it produces a readiness score. The title and tool name carry most of the semantic load; the description supplies execution/provenance context rather than a crisp purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 is given, and no alternatives such as score_mcp_readiness or run_mcp_deployability_diagnostic are mentioned. The description implies usage within an OpenChainGraph chain by listing upstream artifacts and gives input-policy guidance ('use synthetic or anonymised inputs only'), but this is not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_mt_mx_translation_fidelityMT103 to MX Translation Fidelity ScorerBRead-onlyIdempotentInspect
MT103 to MX Translation Fidelity Scorer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-244-gpi-tracker-lifecycle-simulator. Open at: https://ainumbers.co/chaingraph/art-245-mt-mx-translation-fidelity-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it readOnly, idempotent, and non-destructive; the description adds deterministic behavior, transient no-retention processing, browser delegation behavior, and AP2 artifact export with execution_hash. This materially extends the behavioral profile and does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text that repeats 'OpenChainGraph compute node' and restates compute-mode information already present in the schema. The FV-status receipt explanation is more verbose than needed for selection or invocation, and there is no clear structural breakdown.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a domain-specific scorer with an opaque policy_parameters object and no output schema. The description explains compute and provenance well but does not explain how to provide the actual MT103/MX translation inputs or interpret the resulting fidelity score, so it is not self-contained enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the baseline is 3. The description adds the specific upstream artifact for parent_hashes and restates compute semantics, but policy_parameters remains an opaque object whose field names are deferred to an external manifest, leaving the main scoring inputs underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence identify the domain (MT103 to MX translation fidelity) and classify the tool as an OpenChainGraph compute node, but the description never states in operational terms what it scores, what 'fidelity' means, or what result it returns. It largely restates the tool name as a noun rather than giving a distinct verb+resource definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational constraints (synthetic/anonymised inputs only, compute modes) and implies a pipeline position by naming the upstream artifact art-244-gpi-tracker-lifecycle-simulator. However, it never names alternatives or states when not to use this tool, so selection guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_nis2_incident_significanceNIS2 Incident Significance Scorer (Art. 23 Reporting Threshold)BRead-onlyIdempotentInspect
NIS2 Incident Significance Scorer (Art. 23 Reporting Threshold): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-145-nis2-ict-supply-chain-diligence-scorer. Open at: https://ainumbers.co/chaingraph/art-144-nis2-incident-significance-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: it states the tool is deterministic, processes inputs transiently without storing/logging/retaining, explains compute binding modes (as opposed to 'browser'), and warns about synthetic inputs. It also discloses the AP2 artifact export and execution_hash for provenance. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose but then devotes a large block to compute binding and provenance details that are ancillary to the scoring function. It also repeats 'OpenChainGraph compute node' and is verbose. Some sentences are useful (data retention, compute modes), but the overall structure buries the essential scoring information under infrastructure discussion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not state what the tool returns as the scoring result (e.g., a significance score, a threshold verdict). It only mentions exporting an AP2 artifact and feeding to downstream tools. It also fails to explain how to populate 'policy_parameters'. An agent cannot fully understand how to call and interpret this tool solely from the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema covers all parameters with descriptions, the crucial 'policy_parameters' object is a catch-all with no field details; the description says 'See the tool's manifest for field names,' which is not self-contained. The other three parameters (compute, parent_hashes, parent_tool_ids) are clearly explained, but the core input for scoring is left opaque. The description does not compensate for the lack of schema detail for that object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first line clearly state the function: 'NIS2 Incident Significance Scorer (Art. 23 Reporting Threshold)'. It identifies a specific verb (score), resource (NIS2 incident significance), and the relevant regulation article. It does not explicitly differentiate from siblings like classify_dora_incident or check_nis2_art21_measures, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not indicate when to choose this tool over alternatives. It mentions 'Use synthetic or anonymised inputs only' as a caution, but does not provide contextual guidance such as 'use when you need to determine if an incident meets NIS2 reporting thresholds' or list exclusions. No 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.
score_nis2_supply_chain_diligenceNIS2 ICT Supply-Chain Diligence Scorer (Art. 21(2)(d) / ENISA)ARead-onlyIdempotentInspect
NIS2 ICT Supply-Chain Diligence Scorer (Art. 21(2)(d) / ENISA): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-144-nis2-incident-significance-scorer. Output feeds: art-146-nis2-governance-readiness-checker. Open at: https://ainumbers.co/chaingraph/art-145-nis2-ict-supply-chain-diligence-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and idempotent annotations, the description discloses deterministic execution, server-side versus browser delegation, transient input processing, no persistence/logging/retention, and exporter-of-an-execution-hash artifact. This is substantial behavioral context an agent genuinely needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and somewhat redundant, repeating "OpenChainGraph compute node" and including URLs, FV-status paths, and extensive provenance details that are not essential for invocation. It front-loads core compute behavior but would benefit from cutting the chain metadata and content into the manifest/schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks any documentation of the actual policy fields, score semantics, output format, or expected outcome. It says "See the tool's manifest" for policy_parameters but no manifest is provided, and no output schema is present, so it cannot be fully completed from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already provides the baseline parameter descriptions. The description complements the compute binding logic and references the manifest for policy_parameters, but it does not add meaningful field-level detail that is not already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an NIS2 ICT supply-chain diligence scorer and locates its role in an OpenChainGraph chain with upstream and downstream artifacts. It does not explicitly state a verb like "calculates a NIS2 supply-chain score," but the title and chain context leave little room for ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful pipeline context by naming consumed upstream artifacts and downstream consumers of its output, and it says to use only synthetic/anonymized inputs. It does not explicitly compare against sibling tools like check_nis2_art21_measures or score_nis2_incident_significance, so when selection must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_partner_stablecoin_readinessArc Partner Stablecoin Onboarding ConformanceCRead-onlyIdempotentInspect
Arc Partner Stablecoin Onboarding Conformance: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-42-arc-fit-diagnostic. Output feeds: art-45-arc-xreserve-linter. Open at: https://ainumbers.co/chaingraph/art-110-arc-partner-stablecoin-onboarding.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint/idempotentHint/destructiveHint, so the bar is lower — and the description still adds substantial context: transient processing with no storage/logging/retention, the synthetic-inputs-only constraint, deterministic compute-routing semantics (auto/server/browser, gpu:true delegation), and offline-verifiable FV-status semantics. The artifact export does not contradict readOnlyHint since it is the tool's output rather than a mutation of source state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information-dense but delivered as a single run-on paragraph with redundancy ("OpenChainGraph compute node" appears twice in the opening two sentences, and compliance_mandate is never explained). The compute-mode and transient-processing sentences earn their place; the FV-status tail is lengthy and esoteric relative to its value for tool selection. Front-loading is acceptable, but structure and pruning are mediocre.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry return-value semantics — but it only says 'Exports an AP2 artifact with execution_hash,' leaving the agent unsure what the readiness verdict/score actually looks like. The core input (policy_parameters) is deferred to an external manifest, and the actual scoring function is undisclosed. Compute routing and data-hygiene are well covered, but for a zero-required-param tool with nested objects and no output schema, core invocation semantics are incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 largely restates compute-mode semantics already present in the schema. It adds one useful input-level constraint (synthetic/anonymised inputs only, bearing on policy_parameters), but it does not compensate for the schema's biggest gap: policy_parameters has no concrete field names in either the schema or the description, both deferring to 'the tool's manifest.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and title identify the resource (partner stablecoin onboarding readiness/conformance), and the description situates it as a deterministic compute node in a ChainGraph pipeline. However, the description never explicitly states what scoring readiness means or what criteria the decision function applies — it describes compute routing and artifact export rather than the evaluation itself, deferring the actual decision logic to 'the tool's manifest.' It does cite upstream (art-42) and downstream (art-45) artifacts, which offers partial differentiation from the many score_/assess_ siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternative among dozens of similar siblings (score_mcp_readiness, run_arc_fit_diagnostic, route_partner_stablecoin_jurisdiction). The only usage instruction is 'Use synthetic or anonymised inputs only,' and the consumes/feeds pipeline hints are implicit rather than actionable routing guidance. An agent gets no help deciding between this tool and its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_payee_name_matchPayee Name-Match Score (VoP/CoP)BRead-onlyIdempotentInspect
Payee Name-Match Score (VoP/CoP): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-376-score-payee-name-match.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, which the description corroborates by stating inputs are processed transiently and not stored, logged, or retained. It adds meaningful behavioral context: the tool is deterministic, exports an AP2 artifact with execution_hash, and offers server-side vs browser delegation semantics. This goes beyond the annotations and clarifies side effects and execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and long, mixing core purpose with compute semantics, privacy assurances, and provenance links. It is not front-loaded with the objective; the first sentence repeats the title and then jumps into compute modes and Cloudflare Workers. While each clause adds technical detail, the overall structure could be tightened. The spec URLs and FV-status link add bulk but are not essential to invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has complex inputs including a nested policy_parameters object with no formal field list in the schema. The description defers field names to an external manifest, leaving an agent without concrete guidance on what to pass. It also never describes the output payload despite exporting an AP2 artifact. For a tool that requires specific input configuration and produces a score, this description is incomplete for correct invocation without additional external references.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, so baseline is 3. The description adds semantics for the compute parameter by explaining the difference between auto, server, and browser modes, but it does not elaborate on policy_parameters beyond telling users to see the manifest. It does not compensate for the lack of field names in policy_parameters, but since the schema already describes each param, the description adds only marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name clearly indicate the tool scores payee name match for VoP/CoP. The description adds that it is a deterministic OpenChainGraph compute node with compliance mandate, but it never explicitly states what the scoring function does (e.g., 'returns a similarity score between a provided payee name and account holder name'). It distinguishes itself from sibling scoring tools by naming compute behavior but not by purpose, though no direct sibling for payee name matching exists. Overall it is clear enough to infer the main function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It never states scenarios like 'use when you need to verify payee name consistency for VoP/CoP' or excludes other scoring tools. The phrase 'compliance_mandate' hints at a use case but offers no actionable routing. The focus is entirely on compute modes and provenance, not on selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_sanctions_screening_qualitySanctions Screening-Program Quality ScorerCRead-onlyIdempotentInspect
Sanctions Screening-Program Quality Scorer: OpenChainGraph compute node (model_governance). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-92-screening-list-coverage-checker, art-93-fuzzy-match-calibration-scorer. Output feeds: cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-97-sanctions-screening-quality-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond annotations: it is deterministic, processes inputs transiently without storing/logging/retaining them, requires synthetic or anonymized inputs, runs on Cloudflare Workers for gpu:false nodes, and exports an AP2 artifact with execution_hash. These details are consistent with the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) and provide useful operational transparency. No contradiction detected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, mixing core purpose with infrastructure details like Cloudflare Workers, FV-status receipts, and URLs. It is not front-loaded for agent comprehension; the key function of scoring quality is overshadowed by compute binding explanations. Several sentences are operational trivia rather than essential usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should clarify what the tool returns and how to interpret the score. It only states that an AP2 artifact with execution_hash is exported, but does not explain the score value, its interpretation, or the format. The policy_parameters field is left unexplained, and the exact role of parent_hashes/parent_tool_ids in the scoring is ambiguous. With 4 parameters, including a nested object, and no output schema, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema descriptions cover all four parameters (100% coverage), so the baseline is 3. The description does not add any parameter semantics beyond the schema. Notably, policy_parameters is only described as 'Input parameters for this tool's decision function' with a pointer to a manifest, which is vague, and the tool description does not clarify its structure or effect. No added value from description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Sanctions Screening-Program Quality Scorer' but never explains what 'quality' means or how scoring is performed. It focuses on compute mechanics (server vs browser), artifact provenance, and URLs, rather than the actual function of computing a quality score. This does not distinguish it from siblings like score_aml_typologies or score_fuzzy_match_calibration, which also appear to be scoring tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No clear guidance on when to use this tool versus alternatives. It mentions consuming upstream artifacts from art-92-screening-list-coverage-checker and art-93-fuzzy-match-calibration-scorer, and feeding cry-05-agent-action-audit-trail-aggregator, which hints at a pipeline, but it does not state the decision criteria for selection or any exclusions. The description spends space on compute modes instead of use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_taxonomy_alignmentEU Taxonomy Alignment ScorerCRead-onlyIdempotentInspect
EU Taxonomy Alignment Scorer: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-68-carbon-compliance-fit-diagnostic. Output feeds: art-74-taxonomy-kpi-gar-aggregator, art-75-eugb-factsheet-validator, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-73-taxonomy-alignment-scorer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnly, idempotent, non-destructive) are not contradicted by the description, which adds some behavioral details about compute delegation and input processing. However, the description does not explain the actual scoring logic or any side effects, so transparency is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with boilerplate about transient processing and synthetic inputs that applies to many tools. It is not concise or tightly focused on the unique aspects of this scorer, reducing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context about the output or return value of the scorer. It does not explain what the alignment score represents, how it is used, or what the response looks like. The description is incomplete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some meaning to the parameters: it explains the compute enum, parent_hashes, and parent_tool_ids. However, policy_parameters is left vague with 'see the tool's manifest for field names', offering little semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is filled with generic boilerplate about compute nodes, chaining, and input processing, but it never clearly states what the tool does to score taxonomy alignment. The name hints at the purpose, but the body fails to describe the actual scoring action or its inputs/outputs in a meaningful way.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling tools. The description focuses on compute modes and parent hashes, but does not explain the specific scenario or decision context where this scorer should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_tempo_validator_readinessTempo Validator Readiness ScorerBRead-onlyIdempotentInspect
Tempo Validator Readiness Scorer: OpenChainGraph compute node (infrastructure_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-41-tempo-validator-readiness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially extends the annotation set: it discloses compute-routing rules (auto/server/browser modes, gpu:true always delegating to the browser), transient processing with no storage/logging/retention, the AP2 artifact export with execution_hash, and that the FV-status receipt is a snapshot, not a subscription. These details are consistent with readOnlyHint=true, idempotentHint=true (deterministic), and destructiveHint=false. No annotation contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense run-on paragraph that repeats 'OpenChainGraph compute node' twice in the first two sentences. The genuinely useful operational facts (compute modes, transient processing, synthetic-inputs constraint) sit mid-paragraph behind redundant framing, and the trailing FV-status receipt with its 'verifies offline regardless of whether that file is ever fetched' qualification adds length without helping an agent invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain return values, yet it only gestures at 'an AP2 artifact with execution_hash' and a 'browser delegation URL' without describing the response structure or whether compute:browser returns the artifact, the URL, or both. It never defines the core concept of tempo validator readiness, and policy_parameters is deferred to an external manifest, so an agent cannot assemble complete valid inputs or interpret results from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description adds marginal operational color to the compute parameter (Cloudflare Workers, browser delegation URL) that largely mirrors the schema text. Critically, it does not compensate for policy_parameters, whose schema defers to 'the tool's manifest' — the description never addresses what belongs in that object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify the verb (score) and resource (tempo validator readiness), so an agent can name what it does. However, the description never explains what 'tempo validator readiness' actually measures, what factors drive the score, or what the result represents — it spends its words on compute infrastructure (OpenChainGraph node, gpu:false/true, Cloudflare Workers) rather than the scoring semantics. Distinguishing it from near-siblings like prevalidation_readiness_scorer or run_tempo_fit_diagnostic relies on the name, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternative tools are named, despite the description mentioning compute-routing behaviors that could justify it. The only usage instruction is 'Use synthetic or anonymised inputs only,' which is an input-content constraint, not tool-selection guidance. With roughly a thousand siblings including similarly named readiness scorers, the agent is left without a basis to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_je_rulesetJournal-Entry Ruleset ScreenARead-onlyIdempotentInspect
Journal-Entry Ruleset Screen: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-462-je-ruleset-screen.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by explaining that inputs are processed transiently and not stored or logged, which is a critical privacy/security trait not captured in the annotations. It also discloses that the tool is deterministic, idempotent, and read-only, which aligns with annotations but adds context about the execution environment (Cloudflare Workers) and the AP2 artifact export. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and verbose, including multiple technical details (e.g., Cloudflare Workers, AP2 artifact, FV-status) that may be important but could overwhelm an agent. It front-loads the core purpose but then trails into lengthy explanations, including a URL and a JSON hash, which might distract from key usage information. It is structured but not very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, no output schema), the description provides substantial information: compute modes, processing guarantees, security warnings, artifact export, and a link for more details. While it could clarify the exact return format, the description covers most contextual needs, making it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning parameters are well-documented in the schema. The description adds value by explaining the compute modes in more detail than the schema, but it doesn't add much about parent_hashes or policy_parameters beyond what the schema already states. With full schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a 'Journal-Entry Ruleset Screen' and identifies it as a compute node for compliance control, which conveys a specific purpose. However, it doesn't explicitly state the exact action (e.g., 'compute' or 'evaluate'), relying on the title for that. It distinguishes from siblings by mentioning 'OpenChainGraph compute node' and compliance_control, but without a direct sibling comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use different compute modes ('auto', 'server', 'browser') and explains the default behavior, which is useful for agent decision-making. However, it doesn't explicitly state when to use this tool vs. alternative tools, such as other compliance checkers like screen_sanctions_private, so it lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_onledger_transfer_batchOn-Ledger Transfer Batch ScreenBRead-onlyIdempotentInspect
On-Ledger Transfer Batch Screen: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-288-map-iso20022-to-evm-calldata. Open at: https://ainumbers.co/chaingraph/art-291-screen-onledger-transfer-batch.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are processed transiently and not stored, logged, or retained; browser delegation behavior is detailed for gpu:true and browser modes; the tool exports an AP2 artifact with execution_hash; and it consumes a specific upstream artifact. These statements are consistent with readOnlyHint, idempotentHint, and destructiveHint, and no contradiction is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized and mostly front-loaded, but it repeats 'OpenChainGraph compute node' back-to-back and includes a long FV-status tail with URLs that are not actionable for an agent deciding whether to invoke the tool. It earns its place as informative, but it is denser than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the tool returns or how the screening result is expressed, but it only mentions an AP2 artifact with execution_hash. The policy_parameters fields remain unspecified, and core screening semantics are missing, so an agent has enough operational detail to invoke the tool but not enough to understand or use its result confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters already have inline descriptions. The description adds the specific upstream artifact identifier and restates compute-mode rules, but it does not clarify the opaque policy_parameters object, which is deferred to 'the tool's manifest' rather than explained here or in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the subject as an on-ledger transfer batch and labels it a compliance_mandate compute node, so an agent can infer a screening operation from the title and siblings. However, it never states in a concrete verb-resource sentence what the tool actually does with the batch or what result it produces, leaving the core purpose implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as screen_tip20_transfer_batch or any other sibling. The only conditional guidance concerns compute mode selection (auto/server/browser), which is parameter-level behavior, not tool-selection guidance; 'use synthetic or anonymised inputs only' is a data-handling constraint rather than a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_sanctions_privatePrivate-Input Sanctions ScreenARead-onlyIdempotentInspect
Private-Input Sanctions Screen: OpenChainGraph compute node (analytics_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-413-screen-sanctions-private.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint, idempotentHint, and destructiveHint already covering the safety profile, the description adds substantial behavioral detail: transient processing with no retention/logging, browser delegation behavior, gpu:true routing, determinism, and AP2 artifact export with execution_hash. These details go well beyond the annotations and are not contradicted by them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with execution and privacy behavior, but it repeats 'OpenChainGraph compute node' in the first two sentences and includes a long URL/FV-status metadata block that feels more like artifact manifest content. It is informative but not tightly edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers execution routing, privacy guarantees, determinism, and artifact provenance, which is substantial. However, with no output schema, it never describes the actual sanctions screening result or response shape, and policy_parameters are left to an external manifest, so an agent still lacks some critical invocation and return-value context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all four parameters with 100% coverage, so the description does not need to repeat field semantics. It restates compute-mode behavior that is also in the schema and adds no new parameter-level meaning; policy_parameters field names are deferred to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening sentence identify a private-input sanctions screen as an OpenChainGraph compute node, so the core purpose is recognizable and distinct from many siblings by the 'private-input' qualifier. It does not explicitly state what the screening result is (e.g., match/no-match, risk score), and it does not directly contrast itself with related sanctions tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: use synthetic or anonymised inputs only, and inputs are not stored, logged, or retained. It also explains compute-mode selection, but it never states when to prefer this tool over sanctions-related siblings such as run_sanctions_screening_fit or check_screening_list_coverage, nor does it give explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_tip20_transfer_batchTempo On-Chain AML & Travel Rule ScreenerARead-onlyIdempotentInspect
Tempo On-Chain AML & Travel Rule Screener: OpenChainGraph compute node (aml_rule). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-37-tempo-stablecoin-issuance. Output feeds: art-39-tempo-zone-disclosure, art-10-amla-transaction-typology-risk-scorer. Open at: https://ainumbers.co/chaingraph/art-38-tempo-onchain-aml.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial non-obvious behavior: deterministic execution, server-side vs browser delegation, transient no-retention processing, AP2 artifact export with execution_hash for chain provenance, and upstream/downstream artifact relationships. It even clarifies that the FV-status receipt is a snapshot, not a subscription. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense block of prose that repeats 'OpenChainGraph compute node' and packs in artifact IDs, URLs, pipeline relationships, and FV-status details. Several sentences add provenance context but are not needed for an agent to select or invoke the tool, and there is no front-loaded summary or structured breakdown to help parse the key guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute routing, privacy, chain provenance, and artifact relationships, so an agent gets substantial context about execution behavior. However, it does not describe the actual screening output shape, define policy_parameters fields, or differentiate this tool from similar screeners; with no output schema, those are meaningful gaps for a complex compute node.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds no parameter-level detail beyond what the schema states, and it does not resolve the crucial field names inside policy_parameters, which the schema punts to the tool's manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description leads with the tool's title and identifies it as an OpenChainGraph compute node (aml_rule) for Tempo on-chain AML and Travel Rule screening, so the core resource and operation are recognizable. It does not, however, state that it screens a TIP20 transfer batch or distinguish itself from near-siblings like screen_onledger_transfer_batch and validate_tfr_travel_rule_batch, leaving the scope somewhat underspecified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides meaningful operational guidance: it explains compute modes (auto/server/browser), notes gpu:true delegation behavior, and advises using synthetic or anonymised inputs because inputs are processed transiently. It does not name alternatives, exclusion conditions, or when to prefer this screener over the many similar screening siblings, so the when-to-use guidance is mostly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdjwt_issueIssue a Selective Disclosure JWT (RFC 9901)AInspect
Issues a Selective Disclosure JWT (RFC 9901) from a claims object, marking selected top-level claim keys as selectively disclosable via salted-hash digests in the _sd array. Signed EdDSA over a fresh ephemeral did:key (generated per call, not reused). Pair with sdjwt_present to build a redacted presentation from the returned sd_jwt.
| Name | Required | Description | Default |
|---|---|---|---|
| claims | Yes | Claim key-value pairs to issue (required, at least one entry). | |
| subject | No | sub claim. Default: "subject-001". | |
| selective_keys | No | Top-level claim keys marked selectively disclosable. Keys not listed stay always-disclosed cleartext. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behavioral traits beyond annotations: ephemeral key generation per call, EdDSA signing, and selective disclosure mechanism. No contradictions with annotations. Could add that the key is not stored, but current detail is good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Front-loaded with action and standard followed, then pairing guidance. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, mechanism, and pairing. Could explicitly state the return format (string), but the sibling tool's description likely fills the gap. With no output schema, this is mostly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds meaning by explaining how claims and selective_keys interact to form digest-based selective disclosure, which clarifies the parameter roles beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it issues an SD-JWT per RFC 9901, explains the selective disclosure mechanism via salted-hash digests, and distinguishes from the sibling tool sdjwt_present by specifying its role in creating redacted presentations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit pairing guidance with sdjwt_present and notes key ephemerality per call. Does not list when not to use or other alternatives, but the pairing is strong enough for an agent to understand workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sdjwt_presentPresent a redacted Selective Disclosure JWTAInspect
Builds a redacted presentation from an existing SD-JWT (as returned by sdjwt_issue), keeping only the listed disclosures. Pass aud to add a KB-JWT holder-binding (a fresh ephemeral holder key is generated per call). Pass issuer_did (the sd_jwt's "issuer" field) to also verify the JWS and return the verifier_view -- exactly the claim set a relying party would resolve -- plus an OCG receipt of the presentation activity.
| Name | Required | Description | Default |
|---|---|---|---|
| aud | No | KB-JWT audience. Supplying this adds a holder-binding KB-JWT to the presentation. | |
| nonce | No | KB-JWT nonce. Auto-generated if aud is set and this is omitted. | |
| sd_jwt | Yes | An SD-JWT string with all disclosures attached, as returned by sdjwt_issue. | |
| keep_keys | No | Disclosure keys to keep in the presentation. Default: none (all disclosures redacted). | |
| issuer_did | No | The sd_jwt's issuer did:key, to verify the JWS and populate verifier_view + receipt. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the minimal annotations (all false), the description discloses key behaviors: a fresh ephemeral holder key is generated per call when aud is provided, and issuer_did triggers JWS verification resulting in verifier_view and OCG receipt. It does not mention side effects, but the transformation is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences efficiently convey core purpose, optional features, and return values. Information is front-loaded with no redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the basic return values (verifier_view, OCG receipt) for the issuer_did case, but does not explicitly state the default output (presumably the redacted SD-JWT string) when issuer_did is omitted. Overall adequate for a moderate-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema descriptions are already informative (100% coverage), the tool description adds value by explaining parameter interactions (e.g., nonce auto-generation when aud is set, verification flow with issuer_did) and the default for keep_keys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool builds a redacted presentation from an SD-JWT, keeping only listed disclosures. It distinguishes from its sibling sdjwt_issue, which issues SD-JWTs, making the purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the tool uses an SD-JWT from sdjwt_issue and details when to use optional parameters (aud, issuer_did). However, it does not explicitly state when not to use this tool or directly compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_agentic_checkout_protocolAgentic Checkout Protocol SelectorARead-onlyIdempotentInspect
Agentic Checkout Protocol Selector: OpenChainGraph compute node (routing_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-20-acp-ucp-product-feed-conformance-auditor, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-19-agentic-checkout-protocol-selector.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial context beyond them: determinism, server-side vs client-side execution location, browser delegation for gpu:true nodes, transient processing with no storage/logging/retention, and a trust receipt (FV-status). This is exactly the kind of behavioral disclosure that helps an agent predict side effects and privacy implications without contradicting any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loads the core compute-node role, but it runs long with extraneous operational details like the open URL, output feed IDs, and an FV-status JSON path. These are contextual but not all essential for a model to invoke the tool, so the description is more verbose than needed and would benefit from tighter pruning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (compute modes, gpu routing, data handling, chain provenance) and the absence of an output schema, the description does a strong job: it explains what happens in each compute mode, what artifact is produced, what feeds it, and how its trust status can be verified offline. It still leaves the exact AP2 artifact structure and policy_parameters field names unspecified, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains compute modes in nearly identical terms, including the gpu:true delegation rule. The description repeats that logic instead of adding new parameter nuance. It does not enumerate policy_parameters fields (deferring to "the tool's manifest"), so with high schema coverage the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific role: "Agentic Checkout Protocol Selector" as a "Deterministic OpenChainGraph compute node (routing_policy)". This is a clear resource and function, and the OpenChainGraph compute-node framing differentiates it from the many audit/validate/check siblings. However, it leans on niche jargon and never states in plain terms what selecting the protocol accomplishes, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to choose this tool over alternatives or when to avoid it. It says "Use synthetic or anonymised inputs only" and explains compute-mode branches, but that is input hygiene and parameter behavior, not tool-selection guidance relative to sibling selectors like select_cbe_license or select_embedded_license. The intended chain context is implied by "OpenChainGraph compute node," but never stated as a condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_cbe_licenseCan't Be Evil License SelectorARead-onlyIdempotentInspect
Can't Be Evil License Selector: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-196-cant-be-evil-license-selector.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: inputs are processed transiently and are not stored, logged, or retained; execution is deterministic; an AP2 artifact with execution_hash is exported for provenance; and the FV-status receipt is a snapshot that verifies offline. This complements the readOnlyHint and idempotentHint annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is information-dense but not tightly structured: the first two sentences repeat 'OpenChainGraph compute node', and the URL plus FV-status details add provenance context that could be separated or trimmed. The essential compute-mode and data-handling facts are front-loaded, but the redundancy and dense block structure make it less crisp than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the strong annotations, 100% schema coverage, and optional parameters, the description covers the important operational aspects: compute-mode selection, transient input handling, synthetic-input caution, and artifact export with execution_hash. It does not describe the exact license-selection output payload or policy_parameters field names, deferring those to the manifest, but for an optional-parameter compute node this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with full coverage, including compute mode semantics, parent_hashes chaining, parent_tool_ids ordering, and policy_parameters as the decision-function input. The description adds high-level behavior around compute modes and transient processing but does not provide per-parameter meaning beyond what the schema already supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line identify this as a Can't Be Evil License Selector and an OpenChainGraph compute node with a compliance mandate, so an agent can infer the domain. However, the description never explicitly states what selecting a license entails or what the output represents, and it does not differentiate this tool from siblings like choose_cc_license or select_embedded_license.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete guidance on when compute modes apply: auto uses server-side execution for gpu:false registered kernels, browser forces client-side execution and returns a delegation URL, and gpu:true nodes always delegate to the browser. It also instructs users to supply synthetic or anonymised inputs. It does not explicitly say when to prefer this tool over sibling license-selection tools, so exclusions and alternatives are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_embedded_licenseEmbedded License SelectorCRead-onlyIdempotentInspect
Embedded License Selector: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-198-cross-license-rights-comparator. Output feeds: art-204-license-compatibility-checker. Open at: https://ainumbers.co/chaingraph/art-203-embedded-license-selector.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/not destructive, so the bar is added behavioral context — which the description provides. It explicitly discloses that inputs 'are processed transiently to compute the response and are not stored, logged, or retained,' gives a clear data-hygiene rule ('Use synthetic or anonymised inputs only'), and explains the export of an AP2 artifact with execution_hash. The FV-status clarification ('a snapshot, not a subscription') that it verifies offline is genuinely additive behavioral context, with no contradiction of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
At more than 200 words, the description is a dense, scattershot dump covering compute routing, transient processing, chain I/O, a URL, and a verification receipt in one run-on structure. The opening is repetitive — 'OpenChainGraph compute node' appears twice in the first two phrases — and the front-loaded detail overlaps heavily with what the schema already documents. Tightening the taxonomy repetition would have freed space for the missing decision semantics of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provenance and chaining — the complex parts of this tool — are well covered: parent_hashes execution_hash chaining, upstream artifact art-198, downstream art-204, and offline verification semantics are all explained. However, there is no output schema and the description never describes the return shape, nor what the browser delegation URL actually contains or how a caller consumes it, which is a notable gap for a tool with no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies and the description is not required to compensate. It does add a small amount of color beyond the schema by naming 'server-side on Cloudflare Workers' as the runtime for 'auto' and by directing policy_parameters readers to 'the tool's manifest for field names.' However, most of what the prose says about compute modes mirrors the schema's own enum descriptions, so enrichment is modest rather than transformative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is largely tautological, opening with 'OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node' — the class and the word 'compute node' are each repeated without ever grounding what the license selection actually decides. The prose richly documents infrastructure (Cloudflare Workers, artifact export, chain I/O) but never states the decision being made in terms an agent can act on, and offers no differentiation from close sibling names like select_cbe_license or choose_cc_license.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use versus when-not-to-use guidance and no mention of sibling alternatives, which matters given the large sibling namespace. The only usage-adjacent note is 'Use synthetic or anonymised inputs only.' The compute-mode branching described ('auto' vs 'browser') is parameter configuration at call time, not guidance on choosing this tool over another, and the art-198/art-204 chain context implies a pipeline slot without stating it as a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_agent_spend_policyAgentic Mandate SandboxARead-onlyIdempotentInspect
Agentic Mandate Sandbox: OpenChainGraph compute node (agent_guardrail_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-27-agentic-readiness-diagnostic. Output feeds: art-16-google-ap2-mandate-builder. Open at: https://ainumbers.co/chaingraph/art-15-agentic-mandate-sandbox.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the readOnly/idempotent/destructive annotations: discloses transient input processing with no storage/logging/retention, deterministic execution, browser delegation behavior, and export of an AP2 artifact with execution_hash for chain provenance. These add real behavioral context the annotations don't carry. No contradiction with annotations — the artifact export is an output, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Key guidance (compute modes, transient processing, synthetic-input safety) is front-loaded, which is good. But the tail is bloated with tangential provenance/status detail — the FV-status hash, URL, and the verbose 'a snapshot, not a subscription; this receipt verifies offline...' explanation add little to tool selection and could obscure the core call semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Good workflow positioning with explicit upstream/downstream artifact IDs and an access URL, plus partial output characterization (AP2 artifact with execution_hash; browser delegation URL for browser mode). Since there is no output schema, the description bears responsibility for return values, and while it names the artifact it does not fully specify the response structure an agent would receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, giving a baseline of 3. The description adds value by explaining the runtime behavior of compute modes (server-side Cloudflare Workers for gpu:false with registered kernel; browser delegation otherwise). However, policy_parameters is deferred to 'the tool's manifest for field names' in both the schema and description, leaving the most important input underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific purpose — an 'Agentic Mandate Sandbox' / OpenChainGraph compute node (agent_guardrail_mandate) that deterministically computes an agent spend policy response. The verb+resource is clear. However, it does not distinguish itself from the near-identical sibling 'simulate_spend_policy', and the purpose is buried under heavy domain jargon (OpenChainGraph, AP2, FV-status) that a generic agent would have to decode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides parameter-level usage guidance: explains the compute:'auto' vs 'browser' semantics, that gpu:true nodes always delegate to the browser, and the safety constraint 'Use synthetic or anonymised inputs only'. The chain position (consumes art-27-agentic-readiness-diagnostic, feeds art-16-google-ap2-mandate-builder) helps placement in the workflow. But there is no explicit when/when-not guidance against alternatives like simulate_spend_policy or other simulate_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_app_fraud_graphAPP Fraud Graph SimulatorARead-onlyIdempotentInspect
APP Fraud Graph Simulator: OpenChainGraph compute node (aml_rule). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-09-dora-incident-classifier, art-10-amla-transaction-typology-risk-scorer. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/mms-03-app-fraud-graph.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, idempotent, and non-destructive; the description adds substantial behavioral detail beyond those hints: deterministic execution, browser-delegation behavior, transient input handling with no storage/logging/retention, and export of an execution_hash for chain provenance. No statement contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core identity and compute behavior, which is good, but it is long and contains some redundancy ('OpenChainGraph compute node' appears twice in the opening) and trailing verification/URL metadata that is only loosely connected to invocation. It earns its place mostly, but is not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and a nested policy_parameters object, the description covers a lot: execution modes, privacy guarantees, upstream/downstream chain placement, artifact export, and a verification receipt. The main gap is that the AP2 artifact's concrete return structure and the exact policy_parameters field names are left to an external manifest, so an agent still has some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself already documents compute modes, parent_hashes, parent_tool_ids, and policy_parameters in detail. The description reinforces the chain-provenance meaning of parent fields and the computing semantics, but does not add meaningful parameter-level meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource ('APP Fraud Graph'), a specific domain rule ('aml_rule'), and a deterministic OpenChainGraph computation, which separates it from the many generic simulate_* siblings. It stops short of a 5 because the semantic output is described only as a generic 'AP2 artifact' rather than what the fraud graph itself represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete operational context: the exact upstream artifact IDs it consumes, the downstream prompt-template generator it feeds, and a compute-mode selection rule (auto/server versus browser, gpu:true always delegates). It also warns to use synthetic or anonymised inputs only. It does not explicitly name alternatives or say when not to use it, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_consent_stressOpen Banking Consent Flow Stress SimulatorARead-onlyIdempotentInspect
Open Banking Consent Flow Stress Simulator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: pnr-01-dora-ict-cascade-simulator. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/sim-07-open-banking-consent-flow-stress.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already mark the tool as read-only, idempotent, and non-destructive, the description enriches this with specifics: inputs are 'processed transiently... not stored, logged, or retained,' compute modes delegate to server or browser, and it exports an execution_hash for provenance. These details go beyond the annotation flags and describe actual side effects and execution behavior, building trust. No contradictions with annotations are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long and dense with technical jargon: chain provenance, upstream/downstream dependencies, a URL, and a FV-status receipt. While each piece may serve a purpose for a specialised domain, the sheer length and the front-loading of compute modes over the core function will likely confuse an agent. It is not concise; it buries the essential usage in a wall of specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute behaviour, data privacy, input restrictions, and chain dependencies. However, it leaves policy_parameters vague (only pointing to a manifest) and does not explain what the output AP2 artifact contains beyond execution_hash, nor how the stress simulation results are reported. Given the tool has no output schema and nested objects, this is a notable gap—the description is informative but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all parameters, but the description adds meaningful context: it explains the compute enum in depth (auto/server/browser behavior, gpu:true delegation), implies parent_hashes come from the named upstream artifact, and notes policy_parameters are defined in the manifest. This goes beyond the schema's own descriptions, especially for compute, and helps agents select correct inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Open Banking Consent Flow Stress Simulator' which clearly states the verb (simulate) and resource (consent flow). It also identifies the tool as a compute node with a specific compliance mandate. While the purpose is clear, the description is padded with chain provenance details that obscure the core function. It does not explicitly distinguish from siblings like simulate_ict_cascade, but the title's specificity compensates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context: it notes the compute modes, the upstream supplier (pnr-01-dora-ict-cascade-simulator) and downstream consumer, and restricts inputs to synthetic or anonymised data. However, it does not explicitly state when to use this tool over alternative simulators or give exclusions. The guidance is implicit rather than prescriptive, so agents may have to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_frtb_esFRTB IMA Expected Shortfall Pre-ValidatorCRead-onlyIdempotentInspect
FRTB IMA Expected Shortfall Pre-Validator: OpenChainGraph compute node (risk_parameter). Regulatory deadline: 2028-01-01 (UK FRTB-IMA go-live January 2028; EU slipped to ~2029-30. Pre-validation educational tool.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: qfa-02-portfolio-var-engine, sim-03-basel-rwa-scenario-modeler. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/rca-01-frtb-ima-pre-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds useful behavior details: it mentions compute modes that delegate to server or browser, states that inputs are 'processed transiently and are not stored, logged, or retained', and clarifies that it exports an AP2 artifact with execution_hash. This provides transparency about data handling and output generation, exceeding the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose, with redundant phrases like 'Pre-validation educational tool' and repeated references to 'AP2 artifact' and 'ChainGraph'. It is a single run-on sentence with excessive jargon and spec-like details that could be condensed. The structure lacks clear paragraphing or logical flow, making it difficult to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's specific nature, the description lacks a concrete explanation of what the ES pre-validation entails, the expected output format, or the decision function it supports. It mentions regulatory deadlines and compute modes but does not tie them to practical usage. The absence of an output schema and vague references to 'policy_parameters' leave gaps in understanding the tool's end-to-end behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for all parameters, including compute mode enum, parent_hashes, parent_tool_ids, and policy_parameters. The tool description does not add meaning beyond the schema; it mostly restates the compute mode behavior and refers to the manifest for policy_parameters. Since schema coverage is 100%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies it as a 'FRTB IMA Expected Shortfall Pre-Validator' but does not clearly state an action verb or the exact function. It mentions compute modes and artifact export but leaves ambiguity about whether it computes, validates, or pre-validates ES values. The title suggests a noun rather than a specific operation, and the body focuses on implementation details like 'OpenChainGraph compute node' and 'AP2 artifact' without a clear functional statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus other ES or Var-related siblings like 'simulate_var_monte_carlo' or 'compute_portfolio_var'. It describes compute mode selection and chaining but not the problem context or decision criteria for choosing this tool. No exclusions or alternative conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_gpi_tracker_lifecycleSWIFT GPI Tracker Lifecycle SimulatorARead-onlyIdempotentInspect
SWIFT GPI Tracker Lifecycle Simulator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-245-mt-mx-translation-fidelity-scorer. Open at: https://ainumbers.co/chaingraph/art-244-gpi-tracker-lifecycle-simulator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive, closed-world), the description discloses transient processing with no storage/logging/retention, deterministic execution, server-side vs browser-side computation routing, and provenance artifact generation with execution_hash. This materially exceeds what annotations alone provide, and no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and contains direct redundancy: the first sentence already labels it an OpenChainGraph compute node, and the second sentence repeats 'Deterministic OpenChainGraph compute node.' The FV-status receipt explainer and URL add length beyond what most agents need for selection and invocation. Though useful content is front-loaded, the duplication and verbose tail prevent a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers compute routing, privacy handling, provenance, and the downstream feed, which is substantial. However, it never describes what the GPI tracker lifecycle simulation actually computes or what the AP2 artifact contains, and it defers policy_parameters field names to an external manifest. An agent could invoke it correctly but would still lack a plain-language account of the tool's core business behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has an explanation. The description adds interpretative context for compute (auto vs server vs browser) and warns about synthetic inputs, but it does not enumerate the policy_parameters fields, deferring them to the tool manifest. The net addition over the schema is modest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name clearly identify a SWIFT GPI Tracker Lifecycle Simulator, and the description adds that it is a deterministic OpenChainGraph compute node exporting an AP2 artifact with execution_hash for provenance. However, it never explicitly states what the simulation actually computes or what the lifecycle output represents, and it repeats the compute-node label rather than defining the tool's domain behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear invocation context: compute modes (auto/server/browser), browser delegation behavior for gpu:true nodes, and the constraint to use synthetic or anonymised inputs only. It also names the downstream consumer (art-245-mt-mx-translation-fidelity-scorer). It stops short of explicitly stating when to choose this tool over alternatives or identifying 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.
simulate_ict_cascadeDORA ICT Cascade SimulatorARead-onlyIdempotentInspect
DORA ICT Cascade Simulator: OpenChainGraph compute node (infrastructure_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-09-dora-incident-classifier. Output feeds: sim-07-open-banking-consent-flow-stress, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/pnr-01-dora-ict-cascade-simulator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent), the description explicitly states inputs are processed transiently and not stored, logged, or retained, and that it exports an AP2 artifact with execution_hash for chain provenance, adding substantial behavioral transparency not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and technically detailed, covering compute binding, transient processing, and artifact chaining without redundancy. While somewhat long, each sentence adds meaningful information and the structure is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, compute binding, chain provenance, upstream/downstream dependencies), the description provides comprehensive context including processing behavior, output artifact, and pipeline relationships, making it complete for an agent to understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for all four parameters. The tool description adds context on how compute modes interact with node types and how policy_parameters are used in the decision function, enriching parameter semantics beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool's name and title explicitly state it is a DORA ICT Cascade Simulator, and the description clarifies it is an OpenChainGraph compute node that processes inputs and exports an AP2 artifact, making its purpose unambiguous and distinctly different from sibling simulation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context by explaining compute modes, default server-side execution for gpu:false nodes, and the instruction to use synthetic/anonymised inputs. It also references upstream (art-09-dora-incident-classifier) and downstream artifacts, implying pipeline placement, though it does not explicitly contrast with alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_output_floorBasel Output-Floor Phase-In SimulatorARead-onlyIdempotentInspect
Basel Output-Floor Phase-In Simulator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-358-simulate-output-floor.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description adds substantial detail: inputs are processed transiently and not stored/logged/retained, deterministic behavior, compute mode specifics (server vs browser delegation), and AP2 artifact export with execution_hash. This goes well beyond the annotations, providing deep behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and compute modes, then covers privacy and output. It includes URLs and FV-status receipt details that are somewhat tangential for agent invocation but provide context. The structure is clear, but it is a bit verbose and could be trimmed without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, no output schema), the description covers compute modes, privacy, output artifact, and links. It lacks details on the actual response format and error handling, but provides enough for basic invocation. The pointer to a manifest for policy_parameters leaves a gap for parameter specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are documented. The description adds context about chaining with parent_hashes and parent_tool_ids and points to a manifest for policy_parameters fields, but it does not introduce new meaning beyond the schema. It reinforces compute mode semantics but provides limited added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'Basel Output-Floor Phase-In Simulator' and a 'Deterministic OpenChainGraph compute node', naming the specific domain and action. It distinguishes from generic simulators by the regulatory context, but does not explain what the simulation computes or what the output represents, leaving the exact purpose somewhat opaque.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other simulate_* siblings or alternative approaches. The description focuses on technical compute modes and execution details but does not state the intended use case, prerequisites, or conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_spend_policyAgent Spend-Policy SimulatorARead-onlyIdempotentInspect
Agent Spend-Policy Simulator: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-01-ap2-mandate-chain-validator, art-04-agent-identity-attestation-checker. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-02-agent-spend-policy-simulator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| verdict | No | |
| fail_count | No | |
| pass_count | No | |
| fail_rate_pct | No | |
| compliance_flags | No | |
| top_fail_reasons | No | |
| total_transactions | No | |
| total_approved_spend | No | |
| bypass_paths_detected | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint:true, idempotentHint:true, destructiveHint:false, openWorldHint:false. The description adds meaningful behavioral context: inputs are processed transiently and not stored/logged/retained, outputs include an AP2 artifact with execution_hash for provenance, and a browser delegation URL is returned in certain compute modes. Releasing the deterministic property and offline-verifiable FV-status snapshot beyond annotations. No contradiction found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but arguably dense with relevant information for an infrastructure-heavy tool, including compute execution, data transient guarantee, artifact output, consumed/produced artifacts, URL, and FV-status. However, it front-loads well (first sentence states purpose) but then includes operational details that may overwhelm. Some redundancy exists: 'Deterministic OpenChainGraph compute node' appears twice near the start. Not concise but reasonably structured; the URL and FV-status are arguably metadata outside the core description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested object, output schema present), the description covers compute behavior, data handling guarantees, output artifact nature, upstream/downstream artifact connections, and verification URL. The presence of an output schema covers return values, so the description doesn't need to. It explains the parent_hashes/parent_tool_ids relationship and the policy_parameters concept, though it relies on the manifest for field names. Overall quite complete for an agent to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented well. The description adds context on how compute modes map to server/browser behavior, and explains policy_parameters refer to the tool's decision function, but uses 'tool' ambiguously ('this tool's decision function') without strongly clarifying the parameter structure beyond the schema. Baseline 3 is appropriate because the schema carries most weight; the description adds modest value on compute semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a deterministic compute node for simulating agent spend policy, distinguishing it from siblings like simulate_agent_spend_policy (sibling listed) and related tools such as simulate_x402_flow or compute_parametric_trigger_payout. The verb 'simulate' combined with 'spend policy' and 'deterministic compute node' provides specific purpose. However, it does not explicitly contrast with the sibling simulate_agent_spend_policy, which is nearly identical in name, though the description's focus on compute modes and ChainGraph integration provides differentiation context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes ('auto', 'server', 'browser') and when each is used (gpu:false nodes, registered kernels, client-side delegation), which functions as usage guidance. It also mentions 'Use synthetic or anonymised inputs only', a strong usage constraint. However, it does not explicitly say when to use this tool versus alternatives like compute_parametric_trigger_payout or simulate_x402_flow, nor does it state when not to use it. Usage context is present but lacks explicit do-not-use conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_stablecoin_reserveMiCA Stablecoin Reserve Stress SimulatorARead-onlyIdempotentInspect
MiCA Stablecoin Reserve Stress Simulator: OpenChainGraph compute node (liquidity_mandate). Regulatory deadline: 2024-06-30 (MiCA Title III/IV in force June 30 2024 — ART/EMT issuers subject to Article 36 reserve requirements now). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-06-genius-act-reserve-attestation, sim-01-lcr-nsfr-liquidity-stress-test. Output feeds: ptg-01-ap2-prompt-template-generator, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/rca-02-mica-reserve-stress.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations declaring readOnlyHint=true, idempotentHint=true, destructiveHint=false, the description adds significant value: it explains deterministic execution, the compute mode behavior (server/browser delegation), transient processing (inputs 'not stored, logged, or retained'), and the execution_hash for chain provenance. It also discloses 'Use synthetic or anonymised inputs only' and that outputs include an AP2 artifact. The FV-status receipt note adds freshness transparency. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but somewhat sprawling — it packs in the full MiCA deadline, compute binding details, artifact I/O, URL, and FV-status receipt across multiple clauses. While every sentence adds value (provenance, safety, deployment URL), the organization is somewhat stream-of-consciousness; the regulatory deadline sentence carries legal detail that could be trimmed. It's long but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute node with 4 parameters (all documented in schema), no output schema, and rich annotations, the description covers: purpose, execution modes, data handling (transient, anonymised), provenance (execution_hash, AP2 artifact), pipeline I/O, a direct URL, and FV-status verification link. The only gap is that it doesn't describe the return values/response format beyond the export artifact, but with no output schema and rich context elsewhere, completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented in the enum for compute and descriptions for parent_hashes, parent_tool_ids, and policy_parameters. The description adds context on compute modes (clarifying 'auto' behavior, gpu:true always delegates) beyond the schema. However, it does not elaborate on policy_parameters fields beyond referring to 'the tool's manifest' — the description notes 'Input parameters for this tool's decision function' but for a nested object with unknown fields, it could compensate more. With full schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Stress Simulator' for MiCA stablecoin reserve), distinguishes itself as an OpenChainGraph compute node (liquidity_mandate), and clarifies its regulatory context (MiCA Article 36 reserve requirements). It clearly differentiates from siblings like compute_lcr_nsfr_leverage or stress_test_ap_redemption_path by its MiCA-specific focus and compute mode flexibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use different compute modes (auto/server/browser) and mentions it 'Consumes upstream artifacts from: art-06-genius-act-reserve-attestation, sim-01-lcr-nsfr-liquidity-stress-test' and 'Output feeds: ptg-01-ap2-prompt-template-generator, cry-04-merkle-batch-verifier', providing context for pipeline usage. However, it does not explicitly state when NOT to use this tool versus alternatives like recompute_stablecoin_reserve_3source or check_mica_reserve_disclosure. The regulatory deadline and FV-status link add context but not exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_var_monte_carloPortfolio VaR — Monte Carlo (Integer PRNG)ARead-onlyIdempotentInspect
Portfolio VaR — Monte Carlo (Integer PRNG): OpenChainGraph compute node (risk_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: qfa-02-portfolio-var-engine, qfa-03-stress-test-engine. Open at: https://ainumbers.co/chaingraph/art-371-simulate-var-monte-carlo.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: inputs are processed transiently and not stored, compute modes affect execution location, and it exports an AP2 artifact with execution_hash for chain provenance. This goes beyond annotations (e.g., data retention policy, browser delegation behavior) and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense block of information, but it is not well-structured; key points like compute mode, data retention, and output feeds are crammed into a single run-on paragraph. While some front-loading exists (purpose first), the heavy technical details and URLs could be better organized. Every sentence carries information, but the lack of structure hurts readability. A more concise, bulleted format would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested objects and 4 parameters, but the description provides essential context: deterministic behavior, compute modes, data privacy, and provenance via AP2 artifact. There is no output schema, so the description should convey output expectations; it mentions the artifact and execution_hash, but does not detail the VaR result structure or how to interpret it. The description does not specify what policy_parameters should contain, which is a gap for an agent to call correctly. However, given the complexity, it covers most critical aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add any parameter-specific details beyond what the schema already provides. For policy_parameters, the schema says 'See the tool's manifest for field names,' but the description doesn't elaborate on what those policy parameters are or how they affect the simulation. The description does not compensate for the opaque policy_parameters object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a Monte Carlo VaR simulation for portfolios, specifically as an OpenChainGraph compute node. It distinguishes itself from siblings by mentioning 'Integer PRNG' and deterministic behavior, and names its outputs (qfa-02-portfolio-var-engine, qfa-03-stress-test-engine). The purpose is evident and the resource is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use server-side vs browser computation based on compute mode and gpu:false/true nodes, which is useful for selecting execution paths. However, it does not explicitly state when to choose this tool over other VaR-related siblings like compute_portfolio_var or simulate_frtb_es, only implying its niche through the Monte Carlo and integer PRNG context. Clear exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_vop_matchingVoP Batch Match-Rate AnalyserARead-onlyIdempotentInspect
VoP Batch Match-Rate Analyser: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: rca-03-iso20022-address-migration-verifier, art-10-amla-transaction-typology-risk-scorer. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-11-vop-batch-match-rate-analyser.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful behavior: transient processing ('not stored, logged, or retained'), browser delegation URL behavior, and AP2 artifact export with execution_hash. It does not contradict annotations. Since annotations carry the safety profile, the extra details earn a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the key compute-mode behavior, but it includes several boilerplate elements (Open at URL, FV-status JSON path, output feed names) that are peripheral to tool invocation. This adds length without proportional decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an OpenChainGraph compute node, the description covers the essential operational aspects: compute modes, gpu:true delegation rule, transient processing, chain provenance via execution_hash, upstream/downstream artifact names, and a verification URL. There is no output schema, so the AP2 artifact mention partially compensates, though exact return fields are still implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 in the schema. The description adds context about server-side computation of policy_parameters and chaining via parent_hashes, but does not explain individual parameter details beyond what the schema already provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'VoP Batch Match-Rate Analyser' and description 'VoP Batch Match-Rate Analyser: OpenChainGraph compute node' identify a specific verb (simulate) and resource (batch match-rate analysis), but the description does not explicitly distinguish it from sibling tools like simulate_x402_flow or verify_address_migration_batch. The OpenChainGraph framing and compliance_mandate label give some context, though the core function (what 'matching' means) is only implicit in the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states compute modes explicitly (auto/browser/server), when browser delegation occurs (gpu:true nodes), and that synthetic/anonymised inputs should be used. It does not name alternative tools for related tasks, but it gives clear operational context for when client- vs server-side execution applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_x402_flowx402 Header Decoder, Payload Linter & 402 Flow SimulatorARead-onlyIdempotentInspect
x402 Header Decoder, Payload Linter & 402 Flow Simulator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-22-agentic-payments-protocol-comparator, art-25-a2a-agent-card-validator. Output feeds: art-03-x402-settlement-modeler, art-18-mcp-developer-readiness-scorecard, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-26-x402-payload-decoder-flow-simulator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive annotations, the description discloses deterministic behavior, Cloudflare Workers execution, browser-delegation fallback, transient processing with no storage/logging/retention, and AP2 artifact export with execution_hash. This is rich side-effect and data-handling context that materially improves an agent's expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose, but it is padded with redundant phrases ('OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node.') and extraneous operational details (URL, FV-status receipt JSON) that do not aid tool selection. A tighter description focused on behavior and output would serve agents better.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description partially covers return behavior by mentioning browser delegation URLs and AP2 artifact export, plus upstream/downstream artifact flow. It still lacks an explicit statement of what the simulated/decoded/linted result looks like in default server mode, leaving the agent to infer the response shape from the title.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all four parameters at 100%, including detailed descriptions for compute and parent linking. The free-text description adds only a little extra meaning (e.g., policy_parameters being inputs to a decision function and the 'see manifest' pointer), so baseline 3 is appropriate; it does not compensate for missing nested-schema details, but no major gap exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'x402 Header Decoder, Payload Linter & 402 Flow Simulator' and as an OpenChainGraph compute node, which conveys the primary function of decoding/linting/simulating x402 traffic. However, it does not explicitly contrast its scope with sibling x402 tools such as decode_x402_payment or model_x402_settlement, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete invocation context for compute modes ('auto' server-side vs. 'browser' delegation) and instructs users to supply synthetic or anonymised inputs only. It never states when to prefer this tool over closely related x402 siblings, so usage selection is mostly 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.
size_ccp_default_fund_cover2CCP Default Fund Cover-2 SizingCRead-onlyIdempotentInspect
CCP Default Fund Cover-2 Sizing: OpenChainGraph compute node (risk_parameter). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: qfa-03-stress-test-engine. Open at: https://ainumbers.co/chaingraph/art-530-default-fund-cover2-sizing.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses some behaviors like determinism, transient input processing, and artifact export, but these are mostly infrastructure-level details. It omits the tool's specific effect on data or outputs, making it only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive, repeating the same compute-mode pattern multiple times. It front-loads irrelevant details like URLs and status hashes, and the structure is a dense run-on paragraph rather than a focused explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While it mentions provenance and compute modes, it does not explain the output format or the domain context of the default fund sizing calculation. It also lacks comparison to sibling tools, leaving the agent without sufficient context for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover the parameters and their meanings, including the compute enum and parent_hashes linkage. The description adds little beyond a generic note about the manifest, so value added is minimal and the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the title 'CCP Default Fund Cover-2 Sizing' but does not explain what the tool actually computes beyond a domain-specific name. It lacks a clear verb and resource description, so an agent cannot infer the specific function from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It is filled with generic boilerplate about compute modes and provenance, with no reference to specific scenarios or comparative advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stress_test_ap_redemption_pathAP Concentration + Redemption-Path StressARead-onlyIdempotentInspect
AP Concentration + Redemption-Path Stress: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-322-rhc-ap-redemption-stress.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses determinism, transient processing with no storage/logging/retention, browser-delegation behavior, AP2 artifact export with execution_hash, and the fact that the FV-status is a snapshot with offline verification. This is rich, useful behavioral disclosure that significantly exceeds what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and roughly front-loaded, but it repeats 'OpenChainGraph compute node' in successive sentences and includes several loosely connected provenance details that could be tightened. Every sentence adds some value, though the redundancy and sprawl prevent it from being an example of concise clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute tool with no output schema and complex execution modes, the description covers compute selection, delegation, transient processing, artifact export, provenance chaining, and verification status. It only stops short of clarifying the concrete output/response shape and the exact policy_parameter fields, which are left to the manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documentation coverage is 100%, so the schema already explains compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds only minor context about server vs browser execution and chain provenance, but it does not materially deepen the understanding of any individual parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase clearly identify this as an AP-concentration + redemption-path stress compute node for the collateral_mandate domain, and the description confirms it is a deterministic OpenChainGraph compute node that exports an AP2 artifact with an execution_hash. However, it does not actively state what the stress computation produces or how it differs from the many stress-and-chain sibling tools, so it lacks strong sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance on compute modes — browser vs server vs auto — and explicitly warns to use synthetic or anonymised inputs only, which is valuable. But it never says when to choose this tool over the many sibling tools such as other stress-test runners or chain builders, so the usage context is mostly 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.
suggest_tool_ideaSuggest a new tool, node, or workflowARead-onlyIdempotentInspect
Builds a prefilled GitHub Issue-Forms URL for proposing a new AINumbers fintech tool, OpenChainGraph compute node, or verifiable workflow. Returns the URL only -- it never posts to GitHub on the caller's behalf. Companion to the site's mailto suggestion form (suggest.html); this is the agent-callable path.
| Name | Required | Description | Default |
|---|---|---|---|
| who | No | The persona or buyer who would use this (e.g. "a compliance officer at a CASP"). | |
| kind | No | What kind of suggestion this is (default "New tool"). | |
| title | No | Short issue title (the "[Suggestion] " prefix is added automatically). | |
| domain | No | The regulation or standard it serves (e.g. "MiCA", "ISO 20022", "EMIR Refit"). | |
| why_now | No | The driver, deadline, or demand behind the suggestion. | |
| computes | Yes | What the tool would compute or verify (e.g. "validates a CBAM precursor emissions declaration against Annex III default values"). Required by the issue form. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, providing strong behavioral context. The description adds value by explicitly confirming it never posts on behalf of the caller, reinforcing the read-only, non-destructive nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff: first sentence defines the action and resource, second clarifies output and context. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters and no output schema, the description explains the output (URL) and the tool's scope (no posting). It could elaborate on URL usage, but the provided info is sufficient for an agent to understand the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description need not elaborate on parameters. It adds minimal extra meaning beyond mentioning the URL is prefilled. Baseline of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it builds a prefilled GitHub Issue-Forms URL for proposing new tools, nodes, or workflows. The verb 'builds' and resource 'URL' are specific, and the description distinguishes it from the mailto suggestion form, ensuring no ambiguity among sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states what the tool does not do ('never posts to GitHub') and identifies itself as the 'agent-callable path' compared to the mailto form. However, it does not explicitly list when to use this tool over other siblings, though the unique purpose makes this clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sweep_docket_deadlinesDocket Deadline SweepCRead-onlyIdempotentInspect
Docket Deadline Sweep: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-588-docket-deadline-sweep.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| records | No | |
| decision | No | |
| conflicts | No | |
| roll_rule | No | |
| as_of_date | No | |
| scope_note | No | |
| clause_note | No | |
| record_count | No | |
| sweep_summary | No | |
| rejected_inputs | No | |
| not_legal_advice_note | No | |
| due_soon_days_threshold | No | |
| due_soon_days_threshold_is_default | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds substantial behavioral context: determinism, transient processing with no storage/logging/retention, AP2 artifact export with execution_hash, and compute delegation behavior. This goes well beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive: 'OpenChainGraph compute node' appears twice, and the FV-status/URL details are not needed for tool invocation. It would be stronger if it stated the core function in one sentence and then gave compute and privacy details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich annotations and an output schema, the description leaves the actual docket-deadline semantics undefined and does not enumerate policy_parameters fields. An agent cannot determine what inputs to provide or what domain outcome to expect beyond a generic artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates the compute enum semantics already present in the schema and adds nothing about parent_hashes, parent_tool_ids, or policy_parameters. It even defers policy_parameters field names to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (compliance_control)' and repeats the title, but never states what sweeping docket deadlines actually does or what domain inputs/outputs mean. It does not differentiate this tool from siblings like compute_pqc_deadline_ladder or classify_dora_ict_incident_and_clock_deadlines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over alternatives. The compute-mode explanations describe parameter behavior, not selection criteria. The only operational instruction is 'Use synthetic or anonymised inputs only,' which is a privacy constraint rather than a usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sweep_fedwire_addressesFedwire Payment-File Address SweepBRead-onlyIdempotentInspect
Fedwire Payment-File Address Sweep: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-349-fedwire-structured-address-linter. Open at: https://ainumbers.co/chaingraph/art-350-fedwire-address-sweep.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already frankness as readOnly and idempotent, the description independently and transparently states that inputs are processed transiently, are not stored/logged/retained, that compute: browser returns a delegation URL, and that unmodified, deterministic chain hash will be exported. It also clearly says to use synthetic/anonymized data. This constitutes a much stronger behavioral contract, and no statement contradicts annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is long, repetitive, and bears 500 words; it reiterates 'OpenChainGraph compute node' and 'deterministic' and tails off into unrelated verifier details and URLs. The useful behavioral clauses are buried under FV-status and lineage explainers, so an agent must scan a lot of tokens to get to the core contract.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does provide significant contextual considerations around compute modes, transient processing, and provenance, which is helpful for a chained artifact node. But it lacks an output schema, and its explanation for the return shape (what the sweep actually yields) is limited to 'an AP2 artifact with execution_hash'. It also only points to a manifest for policy-parameter fields, leaving the information this generic agent use is not sufficiently self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with explicit descriptions, including default behavior for the compute enum, and parent hashes. The description largely repeats what the schema already contains when it discusses request compute semantics, so it adds no meaningful new meaning for the parameters themselves. It also leaves policy_parameters fields to be read from a manifest, which is a small failing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title centers a specific verb and resource ('sweep', Fedwire payment-file addresses), and the description adds that it is a deterministic OpenChainGraph compliance node consuming another linter's artifact. However, the sentence never defines what the sweep operation does to the addresses (for example, whether they are checked, filtered, or simply harvested), so an agent would not be able to infer the tool execution from the running text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a job sequence by saying it consumes the artifact from the linked-ofined linter, and it also advises to use synthetic or anonymized inputs. Beyond that, there is no explicit when/when-not prescription, and no alternative tools siblings are named. The emphasis is on execution mechanics (compute mode) rather than when to choose this tool over a competing federation or validation sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_asc280_reportable_segmentASC 280 Reportable Segment TesterCRead-onlyIdempotentInspect
ASC 280 Reportable Segment Tester: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-633-asc280-reportable-segment-tester.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| tests | No | |
| oracle | No | |
| tests_met | No | |
| threshold_pct | No | |
| rounding_steps | No | |
| coverage_75_pct | No | |
| comparison_basis | No | |
| regulatory_basis | No | |
| aggregation_criteria | No | |
| tests_not_assessable | No | |
| coverage_threshold_pct | No | |
| majority_of_criteria_met | No | |
| reportable_segment_count | No | |
| management_judgment_required | No | |
| aggregation_criteria_met_count | No | |
| unanswered_aggregation_criteria | No | |
| aggregation_criteria_answered_count | No | |
| practical_limit_consideration_advised | No | |
| is_reportable_by_quantitative_threshold | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided (readOnlyHint/destructiveHint absent), so the description carries the whole burden. It identifies this as a deterministic compute node and notes the server-side 'auto' execution path, but says nothing about side effects, permissions needed, reversibility, or whether calling it mutates state. For a test tool this is an important gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the title and the compute-node/execution constraints early, then trails into repeated marketing-style references ('deterministic', 'server-side') that echo the schema. It is reasonably compact but somewhat redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The expected inputs and outputs are undefined, side effects are unstated, and no error conditions are mentioned. The one concrete detail—the browser/server execution mode—helps, but the overall picture of what this tool does for ASC 280 segment reporting is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description names zero parameters. With no parameter details and an absent parameter schema excerpt, the agent gets no help understanding what 'inputs' the compute node expects or how policy_scope / entity / period relate. The schema coverage gap is not compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly ties the tool to ASC 280 reportable-segment testing and identifies it as a compute node in OpenChainGraph. It is specific about the resource and function, though it does not distinguish itself from sibling compute-node tools that share the same 'OpenChainGraph compute node' phrasing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions the compute mode default ('auto') and the gpu:false constraint, which gives an agent some operational context. However, it never explains when to pick this tool over other ASC 280/test tools, nor does it state prerequisites or expected input/output shape, so the agent is left to infer usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_bifsg_bias_thresholdsBIFSG Insurance Proxy Bias Threshold Test (Colorado SB 21-169)BRead-onlyIdempotentInspect
BIFSG Insurance Proxy Bias Threshold Test (Colorado SB 21-169): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-240-assess-naic-ais-program-readiness. Open at: https://ainumbers.co/chaingraph/art-239-test-bifsg-bias-thresholds.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are processed transiently and not stored, logged, or retained, and notes the use of synthetic or anonymised inputs. It also mentions the export of an AP2 artifact with execution_hash for chain provenance. These details complement the annotations (readOnlyHint, idempotentHint) without contradiction, enhancing transparency beyond the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating the tool name and compute mode explanations multiple times (e.g., 'By default (compute:"auto")...' appears once but the overall text includes redundant phrasing and lengthy URLs for output feeds and FV-status). This detracts from conciseness and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides context about compute binding, transient processing, and output feeds, but lacks a high-level explanation of what the bias threshold test actually evaluates beyond the tool name. It references a manifest for policy_parameters, which adds context, but the overall context is incomplete for a full understanding of the tool's function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description does not add additional meaning beyond what is in the schema, so 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a 'BIFSG Insurance Proxy Bias Threshold Test' referencing Colorado SB 21-169, and identifies it as a compute node. It provides a specific verb (test) and resource (bias thresholds), though it does not explicitly differentiate it from several similar compute nodes in the sibling list beyond the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and execution contexts (server vs. browser, gpu flags), but does not explicitly state when to use this tool versus alternatives. It gives implicit context about compliance mandates and provenance but lacks clear direction on selection criteria or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_hedge_effectivenessHedge Effectiveness TestBRead-onlyIdempotentInspect
Hedge Effectiveness Test: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-263-score-cash-forecast-accuracy. Open at: https://ainumbers.co/chaingraph/art-261-test-hedge-effectiveness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description richly discloses behavior beyond the annotations: deterministic execution, compute mode semantics (auto/server/browser), transient processing with no storage/logging/retention, browser delegation for gpu:true nodes, AP2 artifact export with execution_hash, and FV-status snapshot verification. This adds significant context that annotations alone do not provide, and it aligns with readOnlyHint and idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, single-paragraph wall of text with redundant phrasing ('OpenChainGraph compute node' appears twice) and tangentially related details like URLs and FV-status receipt semantics. It is not front-loaded with the most essential information and would benefit from structured sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the rich behavioral detail, the description omits the core domain function: what the hedge effectiveness test evaluates, what inputs are expected in policy_parameters, and what the output signifies. With no output schema and an open-ended nested object, the agent cannot determine how to construct valid inputs or interpret the result, making the description incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some context about compute behavior (e.g., server-side vs browser delegation) but largely repeats what the schema's compute description already states. It does not clarify the open-ended policy_parameters object, deferring to 'the tool's manifest' instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Hedge Effectiveness Test' and an 'OpenChainGraph compute node (compliance_mandate)', but it never explains what hedge effectiveness testing actually does or what the result means. It adds infrastructure context (deterministic, compute modes) but does not distinguish this test tool from sibling test_* tools like test_asc280_reportable_segment or test_bifsg_bias_thresholds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor are any exclusions or sibling comparisons provided. The only usage-related instruction is 'Use synthetic or anonymised inputs only', which is a data-handling constraint, not a tool-selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_hoepa_high_costHOEPA High-Cost Mortgage Trigger TestARead-onlyIdempotentInspect
HOEPA High-Cost Mortgage Trigger Test: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-220-reg-z-threshold-lookup. Open at: https://ainumbers.co/chaingraph/art-234-test-hoepa-high-cost.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which are consistent with the deterministic compute nature. The description adds valuable context: inputs are processed transiently and not stored, it exports an AP2 artifact with execution_hash for chain provenance, and it provides a verification receipt link (FV-status). It also explains the compute modes (auto/server/browser) and that browser delegation returns a URL. This goes beyond the annotations, though it could clarify whether the tool has side effects on the chain (e.g., does it create persistent artifacts?). The note about synthetic inputs implies a caution about real data, which is useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but contains a lot of information, including details about compute modes, processing transientness, artifact export, provenance, and a verification receipt. It front-loads the purpose and compute mode, but then goes into implementation details (Cloudflare Workers) and URI links that may be less immediately relevant for an agent deciding to call the tool. It could be split into sections or trimmed; however, it's still readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description must explain what the tool returns. It mentions it exports an AP2 artifact with execution_hash and provides a verification receipt, which gives an agent a sense of the output. It also specifies the upstream dependency and the compute binding. Potential gaps: it doesn't specify what the actual test result looks like (e.g., boolean high-cost flag), but given the artifact export, that might be the output. Overall, it covers the essential operational aspects for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: compute is explained with its enum semantics, parent_hashes and parent_tool_ids are defined as chain provenance, and policy_parameters is described as input parameters for the decision function, referencing the manifest for field names. The description doesn't add field-level details beyond the schema, but the schema itself is thorough. The description adds context about how parameters are processed (e.g., server-side vs browser), but that's already in the schema for compute. So baseline 3 is fair; it doesn't significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a deterministic compute node for the HOEPA High-Cost Mortgage Trigger Test, which calculates whether a mortgage triggers HOEPA high-cost thresholds. It specifies the resource (OpenChainGraph compute node) and the regulatory mandate (compliance_mandate). It distinguishes itself from siblings by its specific regulatory function and its association with upstream artifact art-220-reg-z-threshold-lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context: it is a deterministic compute node with a registered kernel, and it explains how compute modes work. It does not explicitly name alternative tools for similar mortgage tests, but given the huge sibling list, the tool's specific mandate is clear. It mentions a prerequisite (consumes upstream artifacts from art-220-reg-z-threshold-lookup), which helps an agent know it depends on that artifact. However, it lacks explicit guidance on when not to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_hpml_escrowHPML Definition and Escrow Requirement TestCRead-onlyIdempotentInspect
HPML Definition and Escrow Requirement Test: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-220-reg-z-threshold-lookup. Open at: https://ainumbers.co/chaingraph/art-235-test-hpml-escrow.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral details beyond annotations, such as compute mode handling, input transience, and non-retention. It mentions deterministic behavior and browser delegation, which are useful. However, it omits output format, side effects, or whether any state is modified despite readOnlyHint, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with the phrase 'OpenChainGraph compute node' appearing multiple times. It mixes unrelated technical details (e.g., compute bindings, artifact exports) without a clear logical flow. A more concise, purpose-first structure would improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks an output schema or description of expected return values, which is critical for a test tool. It mentions 'exports an AP2 artifact' but does not specify its structure or contents. Important context like intended use cases, error handling, or relationship to parent hashes is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover parameter details. The tool description adds little beyond referencing compute modes and pointing to a manifest for policy_parameters. It does not clarify parameter relationships or provide examples, so it does not meaningfully augment the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is vague and focuses on compute mechanics rather than the actual purpose of testing HPML definitions and escrow requirements. It repeats 'OpenChainGraph compute node' without clarifying the decisive function. The title suggests a specific test, but the description does not explicitly state what the tool tests or outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It neither mentions specific scenarios, prerequisites, nor contrasts with related compute or test tools. Users are left without context to choose this tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_reg_w_affiliate_transactionsReg W Affiliate Transaction TesterBRead-onlyIdempotentInspect
Reg W Affiliate Transaction Tester: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-536-reg-w-affiliate-transaction-tester.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint, idempotentHint, and destructiveHint=false, the bar is lower and the description adds meaningful context: deterministic behavior, compute routing (auto/server vs. browser delegation, gpu:true always delegating), transient processing with no retention/logging, and exports of an AP2 artifact with execution_hash for provenance. The FV-status note (snapshot, not subscription, offline-verifiable) is also genuinely useful. No contradiction with any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and structured into compute behavior, data handling, and provenance, but roughly a third of the length is reusable boilerplate (deterministic node label repeated twice, Cloudflare Workers routing, delegation URL mechanics) that also appears in the schema's compute description. For a compliance-control tool, the space would be better spent describing the test logic rather than the execution harness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what the tool returns; it only states that an AP2 artifact with an execution_hash is exported, leaving the decision result opaque. The required policy_parameters fields are pointed to 'the tool's manifest' without telling the agent where to find it, and the description never explains what the compliance test checks — leaving an agent without the essential input for selecting and invoking it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3: all four parameters have descriptions in the schema itself. The description adds marginal value by unpacking compute modes ('auto' = server-side for gpu:false registered kernels) and confirming that policy_parameters are executed server-side, but it does not explain the field names or structure of policy_parameters — those are pushed to an external manifest. parent_hashes/parent_tool_ids are only documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool is a 'Reg W Affiliate Transaction Tester' compliance_control node, so the verb+resource ('test' West transactions against Reg W) is recognizable from the title. However, it never states what the test actually asserts, what inputs the decision function consumes, or what a passing/failing result looks like — the actual compliance logic is deferred to 'the tool's manifest' in the schema. It also does not distinguish itself from the many sibling test_*/check_* tools beyond its name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: this is the right tool when you need to test Reg W affiliate transactions in an OpenChainGraph compliance pipeline, and the description adds the notable caution 'Use synthetic or anonymised inputs only.' No when-to-use versus alternatives, no exclusions beyond the data-input caution, and no guidance on when a sibling compliance tool should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_fatca_crs_ro_remediation_closureFATCA/CRS RO Remediation Closure TrackerCRead-onlyIdempotentInspect
FATCA/CRS RO Remediation Closure Tracker: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-491-ro-remediation-closure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is transparent about several non-obvious behaviors: that 'inputs are processed transiently... and are not stored, logged, or retained', that the result 'verifies offline regardless of whether that file is ever fetched', and that 'it's a snapshot, not a subscription'. These go beyond the basic annotations. It explicitly warns about the computation environment and underlines that this is a safe pure input to execute. My only nit is the details are muddled, but they are both accurate and important for the caller to know (e Error semantics or cheap execution not producing a different behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It's a dense wall of text stuffed with topics that veer from the processing model, to a corporate URL, to a file system path, to the semantics of the carry chain. The style is terse without being structured; important caveats like 'Use synthetic or anonymised inputs only.' are buried in the middle. It takes several readings to untangle the key facts it's trying to communicate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covered important ground — output format (AP2 artifact), address linkage, and the self-contained nature of the verification. However, the 'tracker' domain is the most important missing piece: what are the acceptance criteria in the tracker, what is the status, how does one interpret the `remediation` flag? The description doesn't teach the caller what 'tracking' means in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The prose mentions the `compute` parameter but only by essentially repeating the parameter's own documentation; it adds no context on the parameters' semantics. The schema's 100% coverage already explains the parameter values, so the confusion over `policy_parameters` being a black box remains; the description doesn't clarify what values belong in it, nor does it explain the semantics of `parent_hashes`/`parent_tool_ids` (e.g., it says 'sets chain.parent_hashes in the export', but the description's mention of 'chain' adds only marginal extra flavor). Overall, the description could have been about the value of the topic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description buries the essence of 'what' the tool does under a mountain of implementation details. It names itself ('FATCA/CRS RO Remediation Closure Tracker') and describes a 'deterministic OpenChainGraph compute node', but it never defines what 'RO Recovery Object' is, what 'RO' means, or what 'closing a remediation' entails. The HOW is clear (a compute node runs and exports a receipt), but the WHAT and WHY are lost in a fog of implementation details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description's only imperative is 'Use synthetic or anonymised inputs only' — a safety caution, not usage guidance. There is zero indication of when to call this verses peers, or use cases that would select it. The execution mode trade-offs are well-documented, but the business context is completely missing. A developer having no way to know why they chose this tool rather than the 800+ siblings they have access to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_globe_transition_deferred_taxGloBE Article 9.1 Transition Deferred Tax TrackerARead-onlyIdempotentInspect
GloBE Article 9.1 Transition Deferred Tax Tracker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-636-globe-transition-deferred-tax-tracker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| items | No | |
| error_code | No | |
| item_count | No | |
| cutoff_date | No | |
| items_capped | No | |
| minimum_rate | No | |
| items_excluded | No | |
| items_in_error | No | |
| items_uplifted | No | |
| rounding_steps | No | |
| canonical_order | No | |
| exclusion_rules | No | |
| constants_version | No | |
| total_is_complete | No | |
| items_manual_review | No | |
| transition_year_start_date | No | |
| jurisdictional_roll_forward_total | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly and idempotent annotations by explaining deterministic execution, server vs browser delegation, transience of inputs, no storing/logging/retention, and the AP2 artifact with execution_hash for provenance. It also adds a verification URL and FV-status snapshot, giving unusually full behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads important compute behavior and provenance details, but the density is high and the first statement is somewhat redundant: 'OpenChainGraph compute node' appears twice in the first two sentences. There is also a long verification/link block that arguably belongs in a separate field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The computational semantics are covered well: deterministic, transient, compute modes, browser delegation, provenance artifact, and verification are all present. However, without field-level tax parameters for policy_parameters or a statement of what deferred-tax decision is actually being computed, an agent would need to leave the tool definition to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents compute, parent_hashes, parent_tool_ids, and policy_parameters, so the description does not need to repeat their syntax. However, the policy_parameters nested object is effectively opaque here because the description points to 'the tool's manifest' for field names and does not describe any actual tax-deferred comparisons, so the score stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly establishes that the tool is an OpenChainGraph compute node for the GloBE Article 9.1 Transition Deferred Tax Tracker, which is enough to separate it from most compliance computations in the sibling list. It does not state what the output represents in tax terms, but the title and the domain label carry that meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful compute-mode guidance ('auto', 'server', 'browser') and even tells the user to input synthetic or anonymised values, but it never says when this tool should be selected over alternatives such as compute_globe_jurisdictional_etr or compute_globe_topup_tax. There are no explicit selection criteria or exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_ifrs17_loss_component_rollforwardIFRS 17 Loss Component Roll-Forward TrackerBRead-onlyIdempotentInspect
IFRS 17 Loss Component Roll-Forward Tracker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-178-ifrs17-csm-rollforward-validator. Open at: https://ainumbers.co/chaingraph/art-448-ifrs17-loss-component-tracker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds meaningful behavioral detail: it is deterministic, processes inputs transiently (not stored/logged/retained), exports an AP2 artifact with execution_hash for provenance, and explicitly instructs to use synthetic or anonymised inputs. These go beyond the annotations and give an agent a clear picture of side effects and data handling. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and cluttered with extraneous information such as the Open at URL and an FV-status JSON link with a long hash. The essential purpose and compute-mode explanation are front-loaded, but the later sentences about transient processing and upstream artifacts are somewhat buried. The FV-status note is tangential and not needed for invoking the tool correctly. It could be significantly trimmed to focus on invocation-critical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, artifacts, and upstream dependency, which is helpful. However, the policy_parameters field is an open object that defers field names to 'the tool's manifest', and the description does not elaborate on what inputs the rollforward computation expects. There is no output schema, so the return format (the AP2 artifact) is mentioned but not detailed. The description is adequate for basic invocation but leaves gaps about the exact input structure and output content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) has its own description. The tool description mostly restates the compute mode behavior, which is already covered in the schema. It adds no new semantic details about parent_hashes or policy_parameters beyond what the schema provides. Baseline of 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an IFRS 17 Loss Component Roll-Forward Tracker, a deterministic OpenChainGraph compute node. It states the specific domain and the action (tracking roll-forward), and distinguishes it from siblings by mentioning it consumes artifacts from an upstream validator (art-178-ifrs17-csm-rollforward-validator). The purpose is unambiguous and not a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how computation is routed (server vs browser) but provides no guidance on when to choose this tool over alternatives. It does not state usage scenarios, prerequisites, or conditions where another tool should be used instead. The only hint is the tool's name and the mention of consuming upstream artifacts, which is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_a2a_agent_cardA2A Agent Card Validator & Extension CheckerARead-onlyIdempotentInspect
Validate an A2A agent-card.json against the v1.0 shape, check signatures, and confirm extension declarations. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | No | |
| findings | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by explaining the tool runs client-side, renders a widget, involves zero PII, and zero network. This complements the readOnlyHint and idempotentHint annotations. However, it could mention error handling or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences: first stating the primary validation function, second explaining the rendering and execution context. No unnecessary words; each sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main function, input mechanism, and privacy aspects. However, it does not describe the output schema, which is present in structured metadata. For a validation tool, explaining the return value (e.g., validity status or errors) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'inputs' is described in the schema with 100% coverage. The description adds context by explaining the AIN Bridge prefill and widget rendering, which clarifies how the parameter is used. The description does not conflict with schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool validates an A2A agent-card.json against v1.0 shape, checks signatures, and confirms extension declarations. This clearly distinguishes it from siblings like 'verify_a2a_agent_card' and 'validate_a2a_trust_chain'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives. It mentions validation and signature checking but does not contrast with similar tools like 'verify_a2a_agent_card' or indicate prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_a2a_trust_chainA2A Agent-Card Trust-Chain ValidatorARead-onlyIdempotentInspect
A2A Agent-Card Trust-Chain Validator: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2026-08 (A2A at Linux Foundation (150+ orgs); EU AI Act Aug 2026 pushes agent KYA toward requirement.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-04-agent-identity-attestation-checker, art-02-agent-spend-policy-simulator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-32-a2a-agent-card-trust-chain-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description adds rich behavioral detail: deterministic execution, server-side Cloudflare Workers vs browser delegation, gpu:true always delegating, transient inputs that are not stored/logged/retained, AP2 artifact export with execution_hash, and offline-verifiable FV-status. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and contains useful behavioral and pipeline information, but it is overpacked with non-essential provenance details: the URL, FV-status receipt, Linux Foundation org count, and regulatory deadline context. These add noise and length without materially improving tool selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description stops short of documenting the actual validation result or artifact shape; it says an AP2 artifact with execution_hash is exported, but not what a success/failure response contains. The policy_parameters fields are also deferred to an external manifest, and the loosely specified nested object leaves an agent without a complete invocation contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters already have complete schema descriptions, so the baseline is 3. The description adds some operational context for compute modes and says to use synthetic/anonymised inputs, but it does not meaningfully elaborate on parent_hashes, parent_tool_ids, or the nested policy_parameters fields beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a validator for A2A Agent-Card trust chains and an OpenChainGraph compute node with a compliance mandate. However, it does not explicitly distinguish it from similarly named siblings such as validate_a2a_agent_card or verify_a2a_agent_card; the purpose is clear, but sibling differentiation is indirect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it is a deterministic compliance compute node, has compute-mode selection guidance, feeds downstream artifacts (art-04, art-02, ptg-01), and explicitly instructs users to supply synthetic or anonymised inputs only. It does not name alternative tools or state when not to use this tool, but the context is enough to guide invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_a2a_x402_mandateA2A x402-Extension Mandate ValidatorBRead-onlyIdempotentInspect
A2A x402-Extension Mandate Validator: OpenChainGraph compute node (settlement_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-03-x402-settlement-modeler. Output feeds: art-30-agent-commerce-conformance-validator, cry-05-agent-action-audit-trail-aggregator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-31-a2a-x402-extension-mandate-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds meaningful behavioral context beyond these: deterministic execution, server-side vs browser delegation behavior, transient input handling ('not stored, logged, or retained'), and AP2 artifact export with execution_hash for provenance. There is no contradiction between the description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and includes redundant phrases such as repeating 'OpenChainGraph compute node' in the first two sentences. It also includes a long FV-status explanation, a URL, and an upstream/downstream list that are largely tangential to selecting or invoking the tool. While the compute-mode information is valuable, the description is not appropriately sized and is not front-loaded for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and while the description mentions a browser delegation URL and an AP2 artifact with execution_hash, it never specifies the actual returned validation result or its format. It also defers policy_parameters details to a manifest without any examples. Given the tool's complexity, the description provides useful compute and privacy context but leaves an agent without a clear output contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 100% of parameters with descriptions, so the baseline is 3. The description adds some context around compute mode behavior, such as browser delegation for gpu:true nodes, but it mostly repeats what the schema already states. It offers no additional meaning for parent_hashes, parent_tool_ids, or policy_parameters beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies this as an 'A2A x402-Extension Mandate Validator' and an 'OpenChainGraph compute node (settlement_mandate)', which conveys a validation and chain-provenance role, but it never states the actual validation logic in plain terms. The phrase 'OpenChainGraph compute node' is repeated and the description focuses more on execution mechanics than on what the tool fundamentally does. It also does not distinguish this validator from sibling validators such as validate_a2a_trust_chain or validate_x402_deferred_handshake.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete compute-mode guidance ('auto', 'server', 'browser'), the gpu:true delegation rule, and a hard constraint to use only synthetic or anonymised inputs. It also names upstream and downstream artifacts, which implies its place in a pipeline. However, it never explicitly says when to choose this tool over alternative validators or when not to use it, so the selection context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_acp_checkoutACP Checkout Conformance ValidatorCRead-onlyIdempotentInspect
ACP Checkout Conformance Validator: OpenChainGraph compute node (payment_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-01-ap2-mandate-chain-validator. Output feeds: ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-12-acp-checkout-conformance-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that inputs are processed transiently and not stored or logged, which supplements the readOnly/idempotent annotations. However, it doesn't describe any side effects beyond artifact export or how the result is consumed, and it repeats the compute binding details that are already in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly verbose and repetitive, restating the same compute binding and artifact chaining phrases multiple times. It is not concise and fails to front-load the essential purpose, instead burying it under generic OpenChainGraph jargon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description doesn't explain what the validator returns or how success is indicated. It mentions exporting an AP2 artifact but doesn't clarify whether that is the output or a side effect. Key information about the result format is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all parameters, and the description repeats the compute modes but doesn't add beyond the schema. The policy_parameters field is left opaque with 'see manifest', and the description offers no further clarification, so the value stays at the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name indicate it validates ACP checkout conformance, but the description focuses on compute node mechanics, artifact chaining, and compute modes rather than stating what the validator actually checks or returns. It doesn't clarify the specific conformance criteria or expected output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling validate_* tools. There is no mention of scenarios, competitors, or conditions that would make this the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_adverse_action_noticeValidate Adverse Action NoticeDRead-onlyIdempotentInspect
Validate Adverse Action Notice: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-228-build-adverse-action-notice. Open at: https://ainumbers.co/chaingraph/art-227-validate-adverse-action-notice.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No tabular insight is possible from this description. Specifying 'Only use synthetic or anonymised inputs' is the only worthwhile behavioral trait; everything else is a massive syntactic cipher with no behavioral semantics. The output contradicts the annotation's read-only hint and fails to clarify the action's fate, side effects, or behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence expands into a run-on sentence spanning dozens of unpunctuated concepts. The description is 130 words of text, two of which are generic; the rest is a densely GPU-bound footnote. The conflation doesn't define the constraints or the structural shape of the sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The context is maxed out on every frontier: the identity is unknown, the business domain is absent, and a 4-parameter tool that has nothing to show for it is the output schema. Single-一支 leaves a critical gap that is the core validation context. The validation is overshadowed by irrelevant context like Cloudflare Workers and GPU that don't advance the explainability of the tool's domain or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description correctly addresses one parameter (divine) using the real edge case of temporary custody of the GPU when supply is exhausted. All four parameters are covered in isolation, but the semantic gap between adding a 'compute' descriptor and the rest is a cliff.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately contradicts the title, substituting a clear action verb with 'OnDemand Clause' in what should be a purpose statement. The tool name is 'Validate Corrective Action' but the purpose is framed as 'Deductive OR' and 'Tautological'—the description doesn't actually state what it does; it just restates the name as a header. This fails basic purpose-setting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The proscriptive 'when to use' guidance is entirely circular: 'The right parent, when the sun hits your eyes to be wild.' The reader is given no actionable conditions, prerequisites, or selection criteria, and no alternative is presented. The user is left to infer everything this tool does NOT do, which is critique.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_agent_audit_trailAgent Audit Trail Conformance Validator (IETF AAT)CRead-onlyIdempotentInspect
Agent Audit Trail Conformance Validator (IETF AAT): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-236-build-ai-decision-log-record. Open at: https://ainumbers.co/chaingraph/art-237-validate-agent-audit-trail.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds useful behavior beyond those: inputs are transient and not stored/logged/retained, compute mode behavior (server-side vs browser delegation), and that it exports an AP2 artifact with execution_hash and consumes upstream artifacts. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text mixing compute mode details, data-retention policy, provenance links, and a URL. It is overly long and not front-loaded with a clear statement of purpose. The first sentence repeats the title rather than explaining the tool's function. Extraneous details (URL, FV-status hash) dilute the core message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, transient processing, and artifact exports, but it never explains what 'conformance validation' actually checks or what the response signifies. Without an output schema, the description should clarify the result semantics, but it does not. It also lacks detail on policy_parameters, deferring to a manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates the compute mode semantics but does not add meaningful information beyond the schema for parent_hashes, parent_tool_ids, or policy_parameters. The policy_parameters documentation defers to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'Agent Audit Trail Conformance Validator (IETF AAT)' and 'OpenChainGraph compute node', but never explicitly states a verb like 'validates' or 'checks conformance'. The exact function must be inferred from the title. It provides operational details (compute modes, transient processing) rather than a clear statement of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or when not to use it. It mentions 'Use synthetic or anonymised inputs only' as a constraint, but this is a data-handling restriction, not a usage guideline. It does not reference any sibling tools or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_agent_commerce_conformanceAgent Commerce Cross-Protocol Conformance ValidatorDRead-onlyIdempotentInspect
Agent Commerce Cross-Protocol Conformance Validator: OpenChainGraph compute node (payment_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-01-ap2-mandate-chain-validator, art-12-acp-checkout-conformance-validator, art-03-x402-settlement-modeler. Output feeds: cry-05-agent-action-audit-trail-aggregator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-30-agent-commerce-conformance-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims to 'Export an AP2 artifact' and 'Consume upstream artifacts', which implies side effects, directly contradicting the readOnlyHint: true annotation. It also mentions 'not stored, logged, or retained' but that is inconsistent with exporting artifacts. This contradiction severely undermines transparency. Additional details about compute modes and synthetic inputs are present but are overshadowed by the glaring inconsistency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose and repetitive, repeating phrases like 'OpenChainGraph compute node', 'deterministic', 'not stored, logged, or retained', and 'use synthetic or anonymised inputs only' multiple times. It also includes long lists of artifact IDs and feed names that are not essential for understanding the tool. This redundancy makes it harder to parse and violates conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to provide a complete picture of the tool's function. It does not state what 'agent commerce conformance' means, what is validated, or what the output artifact contains. It omits any explanation of the decision logic or expected outcomes. Given the complexity and the lack of an output schema, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage of parameters with descriptions, so the baseline is 3. The description adds some context about parent_hashes, parent_tool_ids, and policy_parameters, but these are already explained in the schema. It does not introduce meaningful new semantics or clarify the parameters beyond what is already provided. No additional value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is tautological and vague: it labels the tool as 'OpenChainGraph compute node (payment_mandate)' without stating what the tool actually does. There is no clear verb like 'validate' or 'conformance check' that identifies the primary action. It focuses on compute modes and chaining rather than the decision or validation function, leaving the purpose ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the numerous sibling validate_* tools. The description mentions output feeds and artifacts but does not explain use cases, preconditions, or scenario selection. It fails to differentiate this tool from alternatives or indicate what specific conformance it validates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_agent_obo_mandateAgent On-Behalf-Of (OBO) Mandate ValidatorBRead-onlyIdempotentInspect
Agent On-Behalf-Of (OBO) Mandate Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-150-mcp-tool-scope-revocation-auditor. Output feeds: art-152-mcp-task-lifecycle-validator. Open at: https://ainumbers.co/chaingraph/art-151-agent-obo-mandate-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/destructive, and the description adds genuinely valuable behavior: inputs are 'processed transiently', 'not stored, logged, or retained', the node is deterministic, and it exports an 'AP2 artifact with execution_hash' for provenance. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main behavioral and safety facts are front-loaded and clearly ordered, but the description repeats compute-mode details already present in the schema and includes a tangential FV-status snapshot paragraph about offline verification. It is informative but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the validator returns; it only says it 'exports an AP2 artifact with execution_hash' and references upstream/downstream artifacts. It also defers policy_parameters field names to an unspecified manifest, leaving a caller partially reliant on external context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description adds little beyond restating compute modes and pointing to a manifest for policy_parameters field names, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OBO Mandate Validator' and an 'OpenChainGraph compute node (compliance_mandate)', so the broad domain is clear. However, it never states what the validation actually checks or what constitutes a valid or invalid mandate, and the tool name/title carries most of the semantic load. It distinguishes the artifact position in a chain via upstream/downstream references, but not enough to differentiate it from the many sibling validate_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete compute-mode guidance ('compute:"browser" forces client-side execution and returns a browser delegation URL', default auto, gpu:true delegates) and insists 'Use synthetic or anonymised inputs only'. It does not say when to prefer this validator over sibling mandate or agent validation tools, nor does it specify preconditions beyond the artifact chain references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ai_impact_assessmentAI Risk Impact Assessment ValidatorARead-onlyIdempotentInspect
AI Risk Impact Assessment Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-171-iso42001-aims-clause-conformance. Output feeds: art-173-ai-system-governance-classifier. Open at: https://ainumbers.co/chaingraph/art-172-ai-risk-impact-assessment-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent/destructive annotations by disclosing determinism, transient processing with no storage/logging/retention, browser delegation behavior, and AP2 artifact export with execution_hash for provenance. This gives an agent a clear picture of side effects, data sensitivity, and compute routing. No contradiction with the annotations was found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loads the most operationally important facts: compute modes, transient processing, and artifact export. The repeated 'OpenChainGraph compute node' phrasing and the lengthy FV-status block keep it from being maximally concise, but every major section contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the necessary operational context: compute routing, data-handling guarantees, upstream/downstream chain links, and artifact output. It stops short of complete because it never describes the actual validation criteria or the specific contents of policy_parameters, so the agent still relies on the manifest and schema for full invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 chain-specific meaning by linking parent_hashes to upstream artifact execution hashes and stating that exported artifacts carry execution_hash for provenance. It does not enumerate policy_parameters fields, though the schema already directs the agent to the tool manifest for those field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('AI Risk Impact Assessment') and the role ('Validator'), and positions it as a deterministic OpenChainGraph compliance compute node. However, it does not explicitly state what validation entails or name a sibling it should be preferred over, leaving the title to carry part of the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives practical usage context: compute mode selection rules, browser delegation for gpu:true nodes, and the instruction to use only synthetic or anonymised inputs. It also places the tool in a chain with named upstream and downstream artifacts. It does not name alternatives or exclusions relative to sibling validators, so it is not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ap2_mandate_chainAP2 Mandate-Chain ValidatorARead-onlyIdempotentInspect
AP2 Mandate-Chain Validator: OpenChainGraph compute node (payment_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-02-agent-spend-policy-simulator, art-03-x402-settlement-modeler, art-04-agent-identity-attestation-checker, art-12-acp-checkout-conformance-validator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-01-ap2-mandate-chain-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| has_cart | No | |
| checks_run | No | |
| mandate_ids | No | |
| failing_checks | No | |
| warning_checks | No | |
| human_not_present | No | |
| validation_verdict | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs 'are not stored, logged, or retained', the node is deterministic, compute modes switch between server-side Cloudflare execution and browser delegation with gpu:true always delegating, and the FV-status receipt is a self-verifiable offline snapshot rather than a subscription. These are concrete rather than annotation-level traits. Overall it fully walks the behavioral surface an agent needs to anticipate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded enough, but the opening repeats 'OpenChainGraph compute node' in consecutive sentences and the rest is a single dense paragraph mixing compute semantics, non-retention policy, output feeds, a URL, and a status-receipt verification. The content earns most of its words, yet it is longer and more entangled than ideal for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given schema coverage is complete, an output schema exists, and annotations are present, the description fills the meaningful mobility gaps: non-retention/privacy, server/browser delegation behavior, determinism, and downstream artifact consumers. The only thing it does not spell out is the underlying validation semantics themselves, but the references to the AP2 mandate chain and output feeds leave the tool reasonably navigable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter carries detailed schema descriptions, including the compute enum semantics and how parent_hashes/parent_tool_ids map. The prose restates the same compute-mode behavior already in the schema (auto/server/browser, gpu:true forcing delegation), adding no new parameter-level interpretation. With such rich schemas, the baseline of 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an OpenChainGraph compute node for payment_mandate that exports an AP2 artifact with execution_hash for chain provenance, giving more specificity than the name alone. It also names downstream feeds, helping distinguish it from generic validator siblings like validate_ap2_mandate_credential. However, it never states what specific validity criteria the validator enforces, relying on inferred meaning from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance relative to the many sibling validators, and no alternative tool is named. The only behavioral instruction is that inputs should be synthetic or anonymized and 'auto' computes server-side by default. This says how to invoke safely but not when this tool is the right selector over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ap2_mandate_credentialAP2/MCP Policy ValidatorARead-onlyIdempotentInspect
AP2/MCP Policy Validator: OpenChainGraph compute node (scheme_rule). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-16-google-ap2-mandate-builder, art-27-agentic-readiness-diagnostic. Output feeds: art-18-mcp-developer-readiness-scorecard. Open at: https://ainumbers.co/chaingraph/art-17-ap2-mcp-policy-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: inputs are processed transiently and not stored/logged/retained, compute modes (auto/server/browser) with server-side execution on Cloudflare Workers, and gpu:true nodes always delegating to browser. It also mentions exporting an AP2 artifact with execution_hash for chain provenance, which is beyond annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the core purpose, but it includes a lot of tangential information: the URL, FV-status receipt details, and chain provenance specifics. While these are relevant to the OpenChainGraph context, they add length without directly helping an agent decide when to call the tool. The compute mode explanation is useful but could be more concise. It's structured but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, no output schema), the description covers the key aspects: compute modes, transient processing, chain provenance, upstream/downstream artifacts, and the FV-status verification. It doesn't explain the return format, but since there's no output schema, that's a minor gap. The description is complete enough for an agent to understand the tool's role and call it correctly, especially with the schema covering parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about the compute parameter's behavior (default auto, server-side vs browser delegation) and mentions policy_parameters are computed server-side when applicable. However, it doesn't add much beyond the schema for parent_hashes and parent_tool_ids, which are already well-described. The description references 'the tool's manifest' for policy_parameters field names, which is a slight gap but acceptable given schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'AP2/MCP Policy Validator' as an OpenChainGraph compute node (scheme_rule). It clearly identifies what the tool does—validates AP2/MCP policy credentials—and distinguishes it from siblings like validate_ap2_mandate_chain and validate_ap2_mcp_policy by specifying it's a compute node with deterministic execution. However, it doesn't explicitly contrast with the closest sibling validate_ap2_mcp_policy, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use it: it's a deterministic compute node that processes inputs transiently, and it mentions consuming upstream artifacts and feeding outputs. It implies usage in a chain context but doesn't explicitly state when to use this tool versus alternatives like validate_ap2_mandate_chain or validate_ap2_mcp_policy. No explicit exclusions or alternative routing are given, so guidance 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.
validate_ap2_mcp_policyAP2 MCP Policy Validator & BridgeARead-onlyIdempotentInspect
Validate AP2 Policy Mandate JSON payloads against the Unified Build Contract v1.0 schema. Auto-generates MCP tool definitions from the mandate and simulates agent ingestion of agent_instructions. Use when authoring or testing AP2 agentic payment policies. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | No | |
| export_json | No | |
| schema_errors | No | |
| mcp_tool_definition | No | |
| agent_ingestion_simulation | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive. Description adds client-side execution (zero PII, zero network) and notes auto-generation/simulation side effects, adding value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and front-loaded with the primary purpose. Additional details are provided without excessive verbosity. Could be slightly more structured but efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core validation, usage context, and behavior (client-side, no PII). Since output schema exists, it is acceptable not to describe return values. Additional capabilities are mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for the 'inputs' parameter. The description adds that inputs are applied via the AIN Bridge prefill, which provides minor additional context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it validates AP2 Policy Mandate JSON against a specific schema, and describes additional capabilities (auto-generation, simulation). However, it does not explicitly differentiate from similar sibling tools like validate_ap2_mandate_chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises use when authoring or testing AP2 agentic payment policies, providing clear context. Does not mention when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_audit_trail_completenessAudit-Trail Completeness AttestationCRead-onlyIdempotentInspect
Audit-Trail Completeness Attestation: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-517-audit-trail-completeness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral traits beyond the annotations: it is deterministic, inputs are processed transiently and not stored, logged, or retained, and it exports an AP2 artifact with an execution_hash. It also explains the compute modes (auto/server/browser) and the delegation behavior for gpu:true nodes, which gives a clear picture of how the tool operates. This is rich behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, run-on block of text that mixes operational details, security assurances, and provenance URLs. The key purpose is buried under repetitive technicalities (e.g., 'OpenChainGraph compute node' appears twice). It is not front-loaded with the functional essence, making it difficult to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested object, no output schema), the description is incomplete. It does not explain how the inputs (parent_hashes, parent_tool_ids, policy_parameters) are used together to produce the completeness attestation, nor does it specify the format or content of the returned artifact beyond having an execution_hash. The description would leave an agent uncertain about how to prepare inputs and interpret results for this specific validation task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions already cover each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) with reasonable detail. The tool description does not add any extra meaning or context about how these parameters relate to the audit-trail completeness validation. It merely reiterates the compute mode semantics already present in the schema, so no additional value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description focuses heavily on the execution environment (compute modes, Cloudflare Workers, provenance artifacts) rather than explicitly stating that this tool validates the completeness of an audit trail. The title and opening phrase 'Audit-Trail Completeness Attestation' offer some clue, but the body does not clearly define what 'completeness' means or how the tool determines it. Without reading the name carefully, an agent would struggle to distinguish this from other validation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention conditions, prerequisites, or scenarios where this tool is preferred over other validation tools in the sibling list. It only describes compute modes, which are operational details rather than usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_c2pa_manifestC2PA Content Credential Manifest ValidatorCRead-onlyIdempotentInspect
C2PA Content Credential Manifest Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-124-content-credential-signature-verifier. Open at: https://ainumbers.co/chaingraph/art-123-c2pa-manifest-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: deterministic execution, server-side versus browser delegation, gpu-specific behavior, transient non-retained processing, the synthetic-input requirement, and AP2 artifact export with execution_hash. These disclosures meaningfully extend the readOnly/idempotent/destructive annotations and help the agent understand side effects and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and contains useful operational detail, but it redundantly says 'OpenChainGraph compute node' twice and tacks on a URL and FV-status receipt that are tangential to selecting or invoking the tool. It is not tightly structured or front-loaded around the core validation purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite its length, the description omits core invocation semantics: what C2PA validation actually checks, how to supply the manifest content, what policy_parameters fields are valid, and what the agent should expect as a response beyond an AP2 artifact. With no output schema, the description needed to compensate for these gaps and does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly restates the compute-mode behavior already present in the schema and defers policy_parameters field names to the tool's manifest without providing them. It adds no substantial parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title almost verbatim ('C2PA Content Credential Manifest Validator: OpenChainGraph compute node') and never states a specific action like 'validates' or 'verifies' a C2PA manifest. It hints at downstream use via 'Output feeds: art-124-content-credential-signature-verifier', but the actual validation semantics remain vague. This reads more as a title echo plus platform context than a clear statement of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many sibling validators or verifiers. The discussion of compute modes describes execution mechanics, not selection conditions. There are no alternatives, exclusions, or prerequisites mentioned, so the agent must infer usage from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_canton_dvp_atomicityCanton DvP Atomicity ValidatorBRead-onlyIdempotentInspect
Canton DvP Atomicity Validator: OpenChainGraph compute node (settlement_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: 505-tokenized-collateral-eligibility-checker. Open at: https://ainumbers.co/tools/507-canton-dvp-atomicity-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pacs008 | No | |
| verdict | No | |
| finality_flag | No | |
| herstatt_flag | No | |
| atomicity_flag | No | |
| execution_hash | No | |
| compliance_flags | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses substantial behavior beyond annotations: inputs 'are not stored, logged, or retained,' compute routing differs by gpu:true/false and kernel registration, and the node is deterministic (consistent with idempotentHint). Also covers artifact export with execution_hash for provenance and the offline-verifiable FV-status snapshot. No contradiction with the readOnly/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with identity and determinism, then compute modes, privacy, provenance, downstream feed, and verification URL in logical order. Minor redundancy ('OpenChainGraph compute node' appears twice in adjacent sentences) and the long single paragraph would benefit from structure, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-format coverage is not required of the description, and operational behavior (compute modes, privacy, provenance) is thoroughly covered. The gap is the functional core: what the atomicity decision function evaluates and the policy_parameters fields, which the schema punts to an external manifest — leaving an agent without the semantics needed to compose meaningful inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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's compute-mode explanation largely restates the schema's own 'compute' parameter text rather than adding new meaning. policy_parameters is deferred to 'the tool's manifest for field names', leaving the most substantive input partially unspecified in both description and schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the verb and resource ('validate' + 'Canton DvP Atomicity') and identifies itself as a deterministic OpenChainGraph compute node with a settlement_mandate. However, the description never explains what DvP atomicity validation actually checks or how the decision function behaves, so an agent cannot tell this apart functionally from settlement-related siblings like validate_pvp_settlement or validate_cross_network_settlement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an input constraint ('Use synthetic or anonymised inputs only') and a downstream consumer ('Output feeds: 505-tokenized-collateral-eligibility-checker'), but gives no explicit when-to-use guidance or exclusions among the many validate_* settlement siblings. The bulk of the description is compute-mode routing, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_canton_party_allowlistCanton Party Allowlist ValidatorCRead-onlyIdempotentInspect
Canton Party Allowlist Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/tools/509-canton-party-allowlist-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| party_results | No | |
| compliance_flags | No | |
| portfolio_verdict | No | |
| iso20022_party_identification | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds substantial transparency about data handling: 'Inputs are processed transiently... not stored, logged, or retained' and 'Use synthetic or anonymised inputs only'. It also discloses that it exports an AP2 artifact with execution_hash for provenance. These go beyond the annotations and are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of technical jargon (OpenChainGraph, Cloudflare Workers, gpu:false nodes, AP2 artifact, FV-status) and includes a URL and a status receipt that are tangential. It front-loads the name but then buries the reader in the mechanics. Not concise; would benefit from simplifying and focusing on the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the complexity (4 params, nested objects, output schema), the description omits the core validation logic and what inputs are expected for policy_parameters, deferring to 'See the tool's manifest for field names.' It mentions the output artifact only in passing. An agent cannot confidently call this tool to validate a party allowlist without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema with reasonable descriptions (compute enums, parent_hashes, parent_tool_ids, policy_parameters). The description does not add any parameter semantics beyond what the schema provides; it mentions compute modes but that is already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name 'Canton Party Allowlist Validator' implies validation of a Canton party allowlist, but the description never states what exactly is validated or what the tool's core function is. It describes itself as an 'OpenChainGraph compute node' and dives into compute binding details but omits the actual validation purpose. This makes it hard for an agent to distinguish it from siblings like validate_canton_dvp_atomicity or validate_canton_selective_disclosure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. It does not name any sibling or condition that selects this tool. The only usage-related info is about compute modes (auto/server/browser), but that does not address tool selection. 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.
validate_canton_selective_disclosureCanton Selective-Disclosure DvP Reconciliation AttestationARead-onlyIdempotentInspect
Canton Selective-Disclosure DvP Reconciliation Attestation: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 507-canton-dvp-atomicity-validator. Output feeds: cry-01-zk-compliance-proof-generator. Open at: https://ainumbers.co/chaingraph/art-108-canton-selective-disclosure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish read-only, idempotent, non-destructive behavior; the description adds genuinely useful behavioral detail: deterministic execution, transient processing without logging or retention, compute:server vs compute:browser behavior, gpu:true delegation, and an AP2 artifact with execution_hash for provenance. No contradiction with the annotations was found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior appears early and the content is grouped meaningfully, but the description is longer than necessary. The 'Open at' link, the FV-status hash, and the offline-verification aside add details irrelevant to selecting or invoking this tool, and the compute-node statement appears twice in the first two sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex compute node with no output schema, the description has strong context: upstream consumers, downstream feeds, compute behavior, non-persistence of inputs, and the AP2 artifact output. It is incomplete only in that policy_parameters semantics are deferred to a manifest and the exact output fields beyond execution_hash are not laid out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about compute modes and artifacts but does not materially enrich the parameter descriptions beyond the schema. In particular, policy_parameters remains an opaque object whose functional field names are delegated to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening identifies a specific resource and action: a Canton selective-disclosure DvP reconciliation attestation computed as an OpenChainGraph node. This is clearer than a simple restatement, but the description never states what validation checks are performed and does not explicitly distinguish it from related siblings such as validate_canton_dvp_atomicity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some operational constraints and workflow context: compute modes are explained, upstream and downstream artifacts are named, and it says to use synthetic or anonymised inputs only. However, it does not state when to prefer this tool over sibling validation or attestation tools, and it offers no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cat_bond_trigger_termsCat Bond Trigger Terms ValidatorBRead-onlyIdempotentInspect
Cat Bond Trigger Terms Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-251-compute-parametric-trigger-payout. Open at: https://ainumbers.co/chaingraph/art-252-validate-cat-bond-trigger-terms.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish safe/read-only status, and the description substantially complements them: inputs are 'processed transiently' and 'not stored, logged, or retained', execution is deterministic, browser delegation is disclosed, and an AP2 artifact with execution_hash is exported for provenance. There is no contradiction with the annotations, and the added operational detail is genuinely useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, undifferentiated paragraph that repeats the compute-mode behavior already present in the schema and includes extraneous URL and FV-status receipt details. Some repeated phrases ('OpenChainGraph compute node' appears twice) could be tightened, and the core purpose is buried rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does not clearly say what a successful validation returns beyond an 'AP2 artifact with execution_hash', and the actual validation logic and policy_parameters fields are left to a manifest. It is strong on safety, compute routing, and provenance, but incomplete on the tool's decision semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes compute, parent_hashes, parent_tool_ids, and policy_parameters in detail. The description adds little beyond relating the tool to upstream artifacts, so it meets but does not exceed the baseline; it does not compensate for the policy_parameters fields it defers to the manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a near-verbatim restatement of the tool name ('Cat Bond Trigger Terms Validator') and then identifies it only as an 'OpenChainGraph compute node (compliance_mandate)'. It never states what validation is performed on the trigger terms or what result the tool produces, so the core purpose remains a tautology of the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a pipeline position by stating it 'consumes upstream artifacts from art-251-compute-parametric-trigger-payout', and it gives explicit input-safety guidance ('Use synthetic or anonymised inputs only'). However, it does not explicitly state when to prefer this tool over siblings or when not to use it, leaving the pipeline relationship to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cctp_v2_transferArc CCTP v2 Transfer ValidatorARead-onlyIdempotentInspect
Arc CCTP v2 Transfer Validator: OpenChainGraph compute node (settlement_mandate). Regulatory deadline: 2026-07-31 (CCTP v1 manual relay phase-out begins 31 Jul 2026 (Circle announcement). All v1 integrations must migrate.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-42-arc-fit-diagnostic. Open at: https://ainumbers.co/chaingraph/art-47-arc-cctp-transfer.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses meaningful traits: inputs are processed transiently and never stored/logged, execution is deterministic, gpu:true nodes delegate to the browser, and it exports an AP2 artifact with an execution_hash. This gives an agent a rich behavioral model well beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense single paragraph with a regulatory deadline, a long FV-status URL, and multiple parentheticals. While most sentences carry information, the structure obfuscates the critical validator behavior and could be clearer and more front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity, the absence of an output schema, and the presence of nested objects, the description covers a wide swath: determinism, privacy, execution model, compute modes, and artifact provenance. It stops short of describing the exact shape of the returned/exported artifact, but overall offers enough for an agent to act correctly in most scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters at 100% coverage, so the baseline is 3. The description adds little to parameter meaning beyond the schema, other than hints like server-side computation and synthetic-input guidance. It does not enumerate policy_parameters field names, instead deferring to 'the tool's manifest.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a validator for CCTP v2 transfers, with a specific verb and resource. However, it does not explicitly differentiate this validator from the many sibling validation tools, relying mostly on the tool name for distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong usage context: deterministic behavior, compute mode semantics (auto/server/browser), gpu:true delegation, and the recommendation to use synthetic/anonymised inputs. It stops short of explicitly stating when not to use this tool or pointing to a specific alternative among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_collateral_swap_eligibilityCollateral Swap Eligibility ValidatorARead-onlyIdempotentInspect
Collateral Swap Eligibility Validator: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 505-tokenized-collateral-eligibility-checker, 507-canton-dvp-atomicity-validator. Open at: https://ainumbers.co/tools/515-collateral-swap-eligibility-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds valuable context: it is deterministic, inputs are processed transiently (not stored/logged/retained), and requires synthetic or anonymised inputs only. It also explains the compute behavior (gpu:false server vs gpu:true always browser). This goes well beyond what annotations provide, covering privacy and input handling behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded but contains redundancy: it repeats 'OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node.' twice. The compute mode explanation is duplicated between description and compute parameter description. The FV-status section adds operational detail that may be relevant but adds length. Each sentence generally earns its place, but redundancy hurts conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is comprehensive for a tool with no output schema: it explains inputs, compute modes, privacy, provenance (AP2 artifact, execution_hash), upstream artifacts, and the localizable URL. The policy_parameters object is open-ended and the description notes to see the manifest for field names, which is a gap for an agent needing to construct valid policy_parameters. But overall, given complexity, approach is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all 4 parameters including detailed descriptions. The description adds substantial semantics: it explains compute modes and what each value does (auto/server/browser), describes parent_hashes as execution_hash values from upstream artifacts for chaining, and policy_parameters as 'Input parameters for this tool's decision function' with context on server-side computation. The description complements the schema well with domain context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a collateral swap eligibility validator — a compute node using an OpenChainGraph that validates eligibility. It names the decision function (collateral_mandate) and mentions the synthetic inputs requirement. It is distinct from siblings like validate_fund_collateral and check_tokenized_collateral_eligibility because it specifically involves a collateral_mandate and consumes specific upstream artifacts, though it doesn't explicitly contrast against a specific sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) which is usage-related configuration. It states inputs are consumed from two specific upstream artifacts and directs to a URL for opening the tool. However, it does not explicitly state when one would choose this tool over alternatives or when NOT to use it. The guidance is implicit via the upstream artifact names and compute mode explanation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_commission_hierarchyCommission Hierarchy ValidatorCRead-onlyIdempotentInspect
Commission Hierarchy Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-266-reconcile-commission-statement. Open at: https://ainumbers.co/chaingraph/art-264-validate-commission-hierarchy.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive hints, and the description meaningfully adds that inputs are transient, not stored/logged/retained, that browser delegation is forced in certain modes, and that an AP2 artifact with execution_hash is exported. This exceeds what annotations provide and gives important operational context for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is sprawling and repetitive, opening with 'OpenChainGraph compute node' twice and mixing execution modes, privacy guarantees, artifact output, downstream consumers, and provenance-receipt details into a single dense paragraph. While much of it is informative, it is not concisely structured or front-loaded around the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description does not explain what a validation result looks like, how invalid hierarchies are signaled, or what policy_parameters must contain. The tool's actual decision logic and return contract are left to external URLs and manifests, so the description alone is not sufficient for an agent to invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema carries most parameter meaning. The description adds some detail around compute modes, but this largely duplicates the schema's enum descriptions, and it outsources policy_parameters field names to an external manifest. No new semantic clarity is added for parent_hashes or parent_tool_ids.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (compliance_mandate)' and repeats the type, but never states the core action of validating a commission hierarchy. It reads like a restatement of the title and tool name rather than an explanation of what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance such as compute-mode behavior and 'Use synthetic or anonymised inputs only,' and implies a role in the chain by noting 'Output feeds: art-266-reconcile-commission-statement.' However, it never explicitly distinguishes this tool from sibling validators or says when to choose it over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_content_binding_assertionContent Binding Assertion ValidatorCRead-onlyIdempotentInspect
Content Binding Assertion Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-127-dual-layer-disclosure-verifier. Open at: https://ainumbers.co/chaingraph/art-128-content-binding-assertion-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations in useful ways: it explicitly states inputs are processed transiently and not stored/logged/retained, warns to use only synthetic or anonymised inputs, clarifies that 'auto' routes to server-side computation by default, that 'browser' returns a delegation URL, and that gpu:true always delegates. It also explains determinism and the execution_hash / AP2 artifact export for chain provenance. The idempotentHint=true annotation is consistent with the 'deterministic' claim. However, it does not describe what the response looks like — no output format, no status fields, no error behavior — and doesn't fully serve as a substitute for the absent output schema. The mention of the FV-status file adds a verifiable-receipt property the annotations can't convey. It also fails to disclose potential failure modes (e.g., what happens if upstream art-127 artifacts are missing or what a 'browser delegation URL' returns to the caller).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, unstructured paragraph (roughly 180 words) that front-loads repetitive identity statements — 'OpenChainGraph compute node' and 'Deterministic OpenChainGraph compute node' appear back-to-back, redundant. It buries the most actionable operational guidance (computing routing, transient processing, use-synthetic-only) in the middle, and ends with a canonical URL and FV-status JSON hash that are long and mechanical. Every chunk of value is diluted by repetition and noise. Better structure would separate purpose, compute binding behavior, privacy/retention, and provenance into distinct sentences. This is under-structured, not concisely expressive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested parameters object (policy_parameters), no output schema, and 4 parameters that are all optional, the description leaves several decision-relevant gaps: it doesn't describe the response shape or fields an agent should parse (e.g., whether a validation result is a boolean, a receipt, or a delegation URL in all modes), it doesn't give any example of what 'content binding assertion' means or what a valid policy_parameters object looks like, and it doesn't explain how a caller distinguishes a successful validation from a failure. The deterministic snapshot-receipt property is disclosed, but overall completeness for an agent that must call this tool correctly in 'auto' vs 'browser' vs 'server' mode without an output schema is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema's own parameter descriptions are the primary source. The description adds a little on top: it explains the compute modes' effect (server vs browser delegation) in line with the schema, it clarifies parent_hashes are execution_hash values chained into the export, and it notes policy_parameters are computed server-side for gpu:false registered kernels. But it does not enumerate what fields policy_parameters expects — it defers to 'the tool's manifest,' which is an external reference the agent may not have. For a nested-object parameter that is the actual decision function input, that's a meaningful gap. The description adds marginal value over the schema rather than significant new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line state the tool is a 'Content Binding Assertion Validator' that is an OpenChainGraph compute node with a compliance_mandate. While it identifies a specific validate-family action, the description is densely packed with infrastructure details (compute bindings, execution hash, artifact exports) before ever clarifying what 'content binding assertion' means. The sibling list has many validate_* tools, yet the description doesn't explain what makes this validation distinct — what content, what binding, what assertion is checked. The verb 'validates' is implied but never explicitly stated as 'This tool validates X.' It tells the agent it's a compute node but not what the compute function computes. The chain-linkage facts (consumes art-127, exports art-128) differentiate it structurally from siblings but not functionally.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives detailed infrastructure routing guidance (compute:auto vs browser vs server, gpu:true always delegates) but provides no guidance on the semantic conditions under which an agent should select this tool versus any of the hundred sibling validate_* tools. It never states what problem this solves or what input scenario triggers its use. There is no when-to-use statement, no when-not-to-use, and no alternative named. The 'compliance_mandate' hint is opaque. An agent choosing between validate_content_binding_assertion and verify_dual_layer_disclosure (its upstream sibling influence) would find no decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cross_network_settlementCross-Network Atomic Settlement ValidatorARead-onlyIdempotentInspect
Cross-Network Atomic Settlement Validator: OpenChainGraph compute node (settlement_mandate). Regulatory deadline: 2026-Q3 (ECB Pontes TARGET-link pilot end-Q3 2026; DTCC Collateral AppChain full production Oct 2026. Verify cross-network coordination patterns against current primary sources.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-56-tokenized-settlement-fit-diagnostic, art-59-settlement-asset-finality-classifier. Output feeds: 507-canton-dvp-atomicity-validator, 511-multi-currency-pvp-validator, cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-58-cross-network-settlement-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides substantial behavioral detail beyond annotations: it explains that inputs are processed transiently and not stored, logged, or retained, which is critical for privacy. It also discloses that by default 'auto' computes server-side on Cloudflare Workers, while 'browser' forces client-side execution and returns a delegation URL, and gpu:true nodes always delegate to browser. It mentions exporting an AP2 artifact with execution_hash for chain provenance, and provides a FV-status receipt for verification. This goes well beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) and adds valuable operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core purpose and then provides necessary details about compute modes, data handling, and provenance. It avoids fluff and each sentence adds value. However, it is somewhat long, with regulatory deadline details that might be tangential to the tool's invocation, and references to 'compute:auto' and 'compute:browser' are embedded in prose that could be more structured. Still, it's efficient and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, one nested object, no output schema), the description covers all essential aspects: what it does, how compute modes work, data handling, upstream/downstream dependencies, and a verification link. The annotation indicates idempotent, read-only, non-destructive, which aligns with the description's non-storage claim. There's no output schema, but the description mentions exporting an AP2 artifact with execution_hash, giving a hint of return value. For an agent, this is sufficient to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds context for parameters: it explains the compute parameter's meaning ('auto' default behavior, 'browser' forces delegation URL, gpu:true nodes always delegate) and describes parent_hashes and parent_tool_ids as upstream artifact references. It also explains that policy_parameters are computed server-side for certain configurations note: the schema already provides per-parameter descriptions with 100% coverage, but the description adds a higher-level explanation of how these parameters interact in the compute pipeline. The description doesn't list specific fields for policy_parameters, but the schema says 'See the tool's manifest for field names,' which is a reasonable pointer. Given the high schema coverage, the description adds meaningful context without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it is a deterministic OpenChainGraph compute node that validates cross-network atomic settlement. It specifies the exact resource (OpenChainGraph compute node) and the action (validate cross-network atomic settlement), and names upstream and downstream artifacts. It also references regulatory deadlines, which adds specificity. Although the siblings list includes many validation tools, the description's emphasis on cross-network atomic settlement and its artifact dependencies distinguishes it adequately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions consuming upstream artifacts and feeding outputs to specific artifacts, which implies when this tool is used in a chain. It also warns to use synthetic or anonymised inputs only, and clarifies compute modes. However, it does not provide explicit exclusions or alternatives (e.g., when not to use this tool or when to use a sibling like validate_canton_dvp_atomicity or validate_pvp_settlement). The sibling tools with similar 'validate' names (validate_canton_dvp_atomicity, validate_pvp_settlement) might overlap, but the description doesn't distinguish them. Thus, usage guidance is strong for the compute mode but missing differentiation from close siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cyclonedx_sbomCycloneDX SBOM Validator (EU CRA Annex I)ARead-onlyIdempotentInspect
CycloneDX SBOM Validator (EU CRA Annex I): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-136-slsa-provenance-verifier. Open at: https://ainumbers.co/chaingraph/art-135-cyclonedx-sbom-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds valuable context: inputs are processed transiently and not stored/logged/retained, and it warns to use synthetic or anonymised inputs only. It also explains the compute delegation behavior and the FV-status snapshot verification. This goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the tool's identity, but it's quite long and includes a lot of tangential information (URLs, FV-status hash, compliance mandate references) that may not be essential for an agent to call the tool correctly. The compute mode explanation is useful but could be more concise. Some sentences feel like boilerplate rather than actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the key aspects: what it does, how compute modes work, data handling guarantees, and downstream consumers. The policy_parameters field is acknowledged but deferred to the manifest, which is a minor gap. The description is reasonably complete for an agent to invoke it correctly, though the exact input format for policy_parameters is not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about the compute parameter's behavior (auto/server/browser) and mentions policy_parameters are computed server-side, but doesn't add much beyond the schema. The parent_hashes and parent_tool_ids are well-described in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state this is a CycloneDX SBOM Validator tied to EU CRA Annex I, and it's an OpenChainGraph compute node. The verb 'validate' plus the resource 'CycloneDX SBOM' is specific. However, it doesn't explicitly distinguish itself from sibling tools like validate_spdx_sbom or lint_cbom_structure, though the CRA Annex I context provides some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when each is used, which is useful. It also mentions the output feeds to art-136-slsa-provenance-verifier, giving downstream context. However, it doesn't explicitly state when to use this tool vs alternatives like validate_spdx_sbom or lint_cbom_structure, nor does it state prerequisites 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.
validate_deposit_token_complianceDeposit-Token Compliance ValidatorBRead-onlyIdempotentInspect
Deposit-Token Compliance Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-56-tokenized-settlement-fit-diagnostic. Output feeds: 510-digital-asset-regulatory-classifier, cry-04-merkle-batch-verifier, art-59-settlement-asset-finality-classifier. Open at: https://ainumbers.co/chaingraph/art-57-deposit-token-compliance-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are processed transiently and not stored, logged, or retained, which is beyond the annotations' read-only and non-destructive hints. It also explains the compute delegation behavior (server vs browser) and determinism, adding useful context for execution expectations. This complements the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and densely packed with technical infrastructure details such as Cloudflare Workers, GPU delegation, artifact provenance, and FV-status, which may distract from the core purpose. It repeats 'OpenChainGraph compute node' and is not especially front-loaded with the most actionable information. It could be streamlined while preserving key behavioral notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity and absence of an output schema, the description does mention the AP2 artifact with execution_hash, but does not specify the artifact's structure or the expected output format. It also defers policy_parameters field names to an external manifest, which is not self-contained. While it covers compute modes and data handling, an agent may lack sufficient detail to construct valid inputs or interpret results without external references.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% parameter descriptions, so the description does not need to add much. It does restate compute mode behavior that is already in the schema. It does not enrich the understanding of parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema provides, and the pointer to a manifest for policy_parameters is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a Deposit-Token Compliance Validator and an OpenChainGraph compute node with a compliance mandate. This clearly states its domain and differentiates it from other validators by the specific resource (deposit-token compliance). However, it does not explicitly define what aspects of compliance are validated, relying on the name for the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternative validators or when not to use it. It does specify input constraints (use synthetic/anonymised inputs only) and compute mode options, but these are operational details, not selection criteria. There is no mention of contexts where this tool is preferred or alternatives to consider.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_dpp_data_carrierEU ESPR Digital Product Passport Data Carrier ValidatorCRead-onlyIdempotentInspect
EU ESPR Digital Product Passport Data Carrier Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-116-product-lineage-builder. Open at: https://ainumbers.co/chaingraph/art-115-dpp-data-carrier-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides substantial behavioral context beyond the annotations: inputs are processed transiently and not stored/logged/retained, synthetic/anonymised inputs are recommended, compute modes (auto/server/browser) and gpu dependency are disclosed, and it notes the tool is deterministic and exports an AP2 artifact with execution_hash. Annotations already declare readOnly, idempotent, and non-destructive, and the description aligns with them without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and overloaded with technical details about OpenChainGraph, compute binding, a URL, and an FV-status snapshot link. It is not front-loaded with a clear purpose statement; the first sentence is a name plus infrastructure label. The extraneous URL and snapshot receipt are unlikely to help an agent select or invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the tool returns to the caller and how to interpret validation results. It only mentions exporting an AP2 artifact with execution_hash, leaving the actual validation outcome ambiguous. The policy_parameters fields are deferred to a manifest without enumerating required or optional keys, creating a gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all four parameters. The description adds no additional parameter semantics—it only says 'See the tool's manifest for field names' for policy_parameters, which defers rather than clarifies. Baseline 3 is appropriate for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title clearly indicates it validates DPP data carriers under EU ESPR, but the description never explicitly states what inputs are validated or what constitutes a valid carrier. It focuses on OpenChainGraph infrastructure and compute modes rather than the validation function itself. It doesn't differentiate from sibling validators like validate_c2pa_manifest or validate_cyclonedx_sbom.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It mentions an output feed (art-116-product-lineage-builder) and a URL, but does not specify conditions that favor this tool, prerequisites, or exclusions. The compute mode discussion is about runtime behavior, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_dtcc_ca_iso20022_messageDTC Corporate Actions ISO 20022 Message ValidatorARead-onlyIdempotentInspect
DTC Corporate Actions ISO 20022 Message Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-547-corporate-action-entitlement-recompute. Open at: https://ainumbers.co/chaingraph/art-546-dtcc-ca-iso20022-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description extensively discloses behavioral traits beyond the annotations: determinism, transient input processing with no storage/retention, compute modes (auto/server/browser) with delegation behavior, and the export of an AP2 artifact with execution_hash. It also mentions FV-status as a snapshot. These add significant context beyond the readOnly and idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and densely packed with multiple technical details (compute modes, data handling, artifact export, URLs, FV-status). While technically accurate, it is not concise and may overwhelm an agent. Critical usage information is buried among many details, and the structure is not front-loaded; the actual validation purpose is only implicit in the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validator with compute modes and artifact output, the description covers necessary operational context: compute modes, input handling, output artifact, and a reference URL. It lacks a description of the validation rules or the exact return format, but given the output schema is absent and the tool is a compute node, the description provides sufficient context for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema descriptions for all four parameters are already detailed. The description does not add new semantic information about parameters; it only restates compute modes that are already in the schema's compute parameter. Thus the baseline of 3 is appropriate, as the tool description provides no extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name clearly state it validates DTC Corporate Actions ISO 20022 messages. The description reinforces this with 'OpenChainGraph compute node (compliance_mandate)' and explains output artifact generation. This distinguishes it from other sibling validators by specifying the exact message type and domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, but it provides some usage constraints like 'Use synthetic or anonymised inputs only' and explains compute modes. The core purpose is implied by the name, but there is no direct guidance on selection conditions or exclusions. This is adequate but vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_dtc_tokenized_treasuryDTC-Custodied Tokenized U.S. Treasury Issuance & DvPARead-onlyIdempotentInspect
DTC-Custodied Tokenized U.S. Treasury Issuance & DvP: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 510-digital-asset-regulatory-classifier. Output feeds: 507-canton-dvp-atomicity-validator. Open at: https://ainumbers.co/chaingraph/art-109-dtc-tokenized-treasury.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, destructiveHint=false. The description adds meaningful behavioral context: inputs are processed transiently and not stored/logged/retained, synthetic/anonymised inputs should be used, and it exports an AP2 artifact with execution_hash. It also details compute delegation, which is behavioral. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, mixing operational details, URLs, and FV-status receipt info. It's front-loaded with the main purpose, but the FV-status paragraph with hash and URL is tangential and not needed for invoking the tool. Some sentences are redundant (e.g., 'Deterministic OpenChainGraph compute node' repeated). It could be tightened without losing key context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description doesn't need to explain return values, but it does mention the AP2 artifact and execution_hash. It explains compute modes, provenance chain, and input handling. The description is fairly complete for a compute node, though it lacks explicit mention of error cases or response format. The inclusion of URLs and FV-status is arguably extra but not harmful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 value beyond the schema by explaining the compute binding modes and the transient processing note related to policy_parameters. It mentions 'policy_parameters' are computed server-side. The parent_hashes and parent_tool_ids are left to schema descriptions, which are clear enough. The description compensates somewhat but could add more on policy_parameters structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a compute node for DTC-custodied tokenized U.S. Treasury issuance and DvP, which identifies the resource and domain. However, it doesn't clearly state a verb action (e.g., 'validate', 'compute', 'issue') that distinguishes it from sibling tools like validate_canton_dvp_atomicity or validate_tokenized_security_lifecycle, and it mixes multiple concerns (compute modes, provenance, compliance mandate). The purpose is clear at a high level but ambiguous about what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute mode selection (auto/server/browser) and gpu behavior, and notes it consumes from 510-digital-asset-regulatory-classifier and feeds 507-canton-dvp-atomicity-validator, which suggests a processing pipeline. However, it doesn't explicitly tell when to use this tool vs alternatives—there are no exclusions or alternative names. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ebam_acmt_floweBAM Account Message Flow ValidationCRead-onlyIdempotentInspect
eBAM Account Message Flow Validation: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-260-allocate-ihb-interest. Open at: https://ainumbers.co/chaingraph/art-262-validate-ebam-acmt-flow.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions transient input processing and a recommendation to use synthetic data, which adds minor behavioral context. However, these are general platform properties and do not disclose any tool-specific side effects beyond what the annotations (readOnlyHint, idempotentHint, destructiveHint) already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, echoing phrases like 'OpenChainGraph compute node' and 'Deterministic' multiple times. It includes long technical boilerplate that could be condensed, making it longer than necessary without adding clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits the actual validation logic and expected output structure. It mentions an AP2 artifact but not its shape. With no output schema, an agent cannot determine what the function returns beyond an unspecified artifact, leaving the tool incomplete for real use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides detailed descriptions for compute, parent_hashes, and parent_tool_ids, achieving 100% coverage. The description adds little beyond the schema, and the generic policy_parameters description refers to a manifest, so the schema already carries the semantic weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a generic template for OpenChainGraph compute nodes and does not explain what 'validate_ebam_acmt_flow' actually validates. The tool name hints at eBAM message flow, but the body is boilerplate about compute modes and artifact exports, leaving the core purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many other validation tools in the sibling list. The description only contains platform-level details that apply to all such nodes, not specifics that would help an agent choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_einvoice_batchEN 16931 / Factur-X E-Invoicing Batch ValidatorARead-onlyIdempotentInspect
EN 16931 / Factur-X E-Invoicing Batch Validator: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2026-09 (France large/medium mandatory September 2026; EU ViDA). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: rca-03-iso20022-address-migration-verifier, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-08-en16931-einvoice-batch-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so safety profile is covered. The description adds beyond annotations: deterministic node, transient processing (inputs not stored/logged/retained), browser delegation URL for gpu:true or compute:browser, and AP2 artifact with execution_hash for chain provenance. These behaviors enrich the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded: starts with the standard name, regulatory context, and compute behavior. Almost every sentence carries value, except the FV-status URL and provenance chain string might be over-specific for an agent's immediate invocation needs. Still, it's structured logically and not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch validator with deterministic behavior, the description covers purpose, compute modes, data handling, output artifact, and downstream consumers. Missing details like exact validation rules or return format are not specified, but no output schema exists and the complexity is moderate. The 'policy_parameters' field is vaguely referenced though, which leaves an agent guessing what to put in it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already described in the schema (compute enum, parent_hashes, parent_tool_ids, policy_parameters). The description adds the compute binding semantics (v0.4 Compute Binding) and the note that policy_parameters are computed server-side when applicable, which slightly extends the schema. But it doesn't clarify the internal structure of policy_parameters beyond 'see manifest', which is a minor gap. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the exact tool: EN 16931 / Factur-X E-Invoicing Batch Validator, an OpenChainGraph compute node with compliance mandates (France large/medium mandatory September 2026; EU ViDA). It clearly distinguishes from siblings like validate_einvoice_format and validate_einvoice_vat_calc by batch context and chain provenance. It also names output feeds, so purpose is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes (auto/server/browser) and when server-side or browser delegation applies. It includes regulatory deadline context and 'Use synthetic or anonymised inputs only', which is an implicit usage warning. It doesn't explicitly name alternative validation tools to exclude, but sibling separation is clear enough given specific purpose and output feeds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_einvoice_formatE-Invoice Format ValidatorCRead-onlyIdempotentInspect
E-Invoice Format Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-294-einvoice-vat-calc-verifier. Open at: https://ainumbers.co/chaingraph/art-293-einvoice-format-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description goes beyond them by stating inputs are processed transiently and not stored, logged, or retained, and that it exports an AP2 artifact with execution_hash for provenance. This adds meaningful behavioral context without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph with unnecessary metadata like URLs and FV-status paths that are not essential for invoking the tool. It repeats compute mode behavior already in the schema and lacks clear paragraph breaks, making it harder to scan quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks critical contextual details: it doesn't explain what policy_parameters should contain beyond referencing a manifest, doesn't describe the output or return format (only that it exports an artifact), and doesn't clarify which e-invoice standards it validates. This leaves an agent uncertain about harness and expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all four parameters, and the tool description mostly mirrors the compute field's schema text. It does add a pointer to the tool manifest for policy_parameters field names, which is marginal value. Since the schema already documents everything, the description adds little beyond that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening line state it's an 'E-Invoice Format Validator' with a compliance mandate, but the description never specifies what format aspects it validates (e.g., UBL, CII, schema, required fields). It mentions it feeds into a VAT calc verifier, which hints at the purpose but doesn't differentiate from sibling tools like validate_einvoice_batch or validate_vida_einvoice_conformance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It advises using synthetic or anonymized inputs and explains compute mode behaviors, but never mentions sibling validators or conditions that would select this tool over them. The output feed reference implies a downstream dependency, but not a usage decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_emir_lifecycle_eventEMIR Lifecycle Event ValidatorBRead-onlyIdempotentInspect
EMIR Lifecycle Event Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-156-emir-counterparty-pairing-reconciler. Output feeds: art-158-emir-reporting-readiness-diagnostic. Open at: https://ainumbers.co/chaingraph/art-157-emir-lifecycle-event-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, idempotent, and non-destructive, and the description adds substantial beyond-annotation context: it is deterministic, inputs are transiently processed and not retained, compute can shift between server and browser via Cloudflare Worker or delegation URL, and it exports an AP2 artifact with an execution_hash for provenance. This is exactly the kind of execution-side context that helps an agent set expectations before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not tightly structured. The first two phrases repeat 'OpenChainGraph compute node', and the 'Open at...' plus FV-status snapshot sentence adds provenance and verification detail that is peripheral to calling the tool correctly. Useful facts about execution, non-retention, and artifact chaining are mixed into a large unreordered block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The context for execution report, privacy, and artifact lineage is well covered, and the input schema covers all parameters. However, with no output schema, the description never makes clear what the validation result actually contains or what a successful/failed validation looks like, only that the tool exports an artifact with an execution hash. This leaves an important gap for an agent that must interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so the baseline of 3 applies: compute, parent_hashes, parent_tool_ids, and policy_parameters each have meaningful schema-level descriptions. The description adds little beyond pointing the user to 'the manifest' for policy_parameters field names, which is enough to meet the baseline but does not improve above it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the domain (EMIR lifecycle event validation) and places it in a chain graph, but it never states with a concrete verb what the tool does or what makes it a validator. The phrasing "EMIR Lifecycle Event Validator: OpenChainGraph compute node" mostly restates the title, and the description does not distinguish it from siblings like validate_emir_trade_report or validate_emir_upi.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives compute-mode controls and warns to use synthetic/anonymised inputs, but it provides no guidance on when to prefer this tool over the many EMIR-related siblings. There is no explicit when-to-use, when-not-to-use, or alternative tool mention, leaving selection mostly to the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_emir_trade_reportEMIR Trade Report Field ValidatorBRead-onlyIdempotentInspect
EMIR Trade Report Field Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-154-emir-uti-completeness-checker. Open at: https://ainumbers.co/chaingraph/art-153-emir-trade-report-field-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses useful behavioral traits: compute modes with server-side/browser delegation, transient processing with no storage or logging, the 'synthetic or anonymised inputs only' requirement, and AP2 artifact export with execution_hash. It also clarifies that compute:"browser" returns a delegation URL for gpu:true nodes. This substantially exceeds the annotation baseline, though it does not explain the exact validation behavior or error paths.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly packed with useful operational and privacy details, but it includes redundancy with 'OpenChainGraph compute node' appearing twice. It also embeds long URLs and a hexadecimal status-path, making it hard to scan. Core validation specifics are buried under compute-program and provenance, which reduces front-loading quality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, yet the description does not explain what the validation response looks like, what a pass/fail or exception report would contain, or how to interpret the execution_hash. It also does not document what policy_parameters fields are actually expected (referring to a manifest instead). While the compute/privacy behavior is well covered, the missing return semantics leave an important completeness gap for an actual invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The JSON schema already covers all four parameters with meaningful descriptions, giving a baseline of 3. The paragraph prose repeats the compute parameter semantics but does not add deeper meaning for parent_hashes, parent_tool_ids, or how policy_parameters should be structured for a particular report. It does not compensate as to the schema's descriptions, so no value above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title as 'EMIR Trade Report Field Validator' and calls the tool a 'deterministic OpenChainGraph compute node', but never explicitly states what validating EMIR trade report fields entails. It relies on the name for the actual function rather than defining the validation semantics. The downstream mention ('Outputs feed: art-154-emir-uti-check') is a side detail rather than a clear description of the action, so the core purpose stays implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The description does not differentiate this validator from siblings such as validate_emir_lifecycle_event, validate_emir_upi, or check_emir_uti_completeness. The pipeline hint about feeding an artifact checker is the only related signal, which is too weak to qualify as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_emir_upiEMIR UPI ValidatorBRead-onlyIdempotentInspect
EMIR UPI Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-154-emir-uti-completeness-checker. Open at: https://ainumbers.co/chaingraph/art-155-emir-upi-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context: deterministic execution, transient input processing with no storage/logging/retention, browser delegation behavior, AP2 artifact export with execution_hash, and FV-status offline verifiability. This goes well beyond the annotation hints without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and repetitive, opening with 'OpenChainGraph compute node' twice in adjacent sentences. It front-loads metadata like compliance mandate and determinism before saying what the tool validates, and buries the upstream dependency and FV-status detail in a dense block. The compute-mode explanation largely duplicates the schema and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite many details about compute modes, privacy, and provenance, the description never explains the actual validation result or return payload. There is no output schema, and the description only vaguely references a 'decision function' without saying what decision it produces or what a successful/failed validation looks like. An agent selecting and invoking this tool would still not know what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mostly restates the compute-mode semantics already present in the schema, and the policy_parameters description is the same 'see manifest' deferral. It adds little net meaning beyond the structured parameter definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (EMIR UPI) and a validation role, and ties it to a compliance mandate and upstream completeness checker. However, it never states what validation actually entails (e.g., format checks, uniqueness, reference data matching), and it repeats 'OpenChainGraph compute node' rather than providing an explicit verb-and-resource definition. It is somewhat distinguishable from siblings like validate_emir_trade_report, but only by title inference, not by a clear statement of function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some operational guidance: it consumes upstream artifacts from art-154-emir-uti-completeness-checker, warns to use synthetic or anonymised inputs only, and explains compute mode selection. It does not, however, state when to choose this tool over sibling validators or mention any exclusions or alternatives. The guidance is more about execution mechanics than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_eudr_due_diligence_statementEUDR DDS Field ValidatorBRead-onlyIdempotentInspect
EUDR DDS Field Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-166-eudr-geolocation-plot-validator. Open at: https://ainumbers.co/chaingraph/art-165-eudr-dds-field-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description offers substantial behavioral detail beyond the annotations: inputs are 'processed transiently' and 'not stored, logged, or retained'; the tool is 'deterministic'; it 'exports an AP2 artifact with execution_hash for chain provenance'; and it provides a verification URL and content hash. This meaningfully enriches the readOnlyHint and idempotentHint annotations. However, it stops short of explaining the exact side effects of the AP2 export (e.g., whether it writes to a chain) or the meaning of 'compliance_mandate,' leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is densely packed but repeats 'OpenChainGraph compute node' in the first two sentences, which is mildly redundant. It front-loads the compute-mode semantics and privacy notice, then appends provenance details (URL, hash, FV-status) that, while useful, could be formatted more cleanly (e.g., as separate fields). Overall, it's efficient and well-ordered, but the duplication and long tail of metadata slightly reduce clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, no output schema, and annotations covering read-only and idempotency, the description covers execution semantics, data retention, output artifact, and downstream linkage. It even includes a verification mechanism for the specification version. It doesn't describe the response structure or error cases, but given the absence of an output schema and the tool's deterministic nature, this feels acceptable. The pointer to a separate manifest for policy_parameters is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with descriptions, so the baseline is met. The tool description adds no extra parameter-level guidance beyond what's in the schema (e.g., the `compute` enum is already explained there). The `policy_parameters` field points to 'the tool's manifest' without listing field names, and the description doesn't fill that gap, missing an opportunity to add value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool a 'EUDR DDS Field Validator' and a 'compute node,' but never explicitly states what fields are validated or what 'validation' entails. It focuses on execution mechanics (server/browser compute, Cloudflare Workers) rather than the domain logic, leaving an agent to infer the purpose from the name alone. The mention of 'compliance_mandate' and the downstream reference to a geolocation plot validator hint at scope but don't clarify the core validation semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as `run_eudr_readiness_fit` or `link_eudr_supply_chain_traceability`. The only conditional advice is about compute modes ('compute:"auto"' vs 'compute:"browser"') and a generic warning to 'Use synthetic or anonymised inputs only.' It never addresses prerequisites, integration points, or scenarios where a sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_eudr_geolocationEUDR Geolocation Plot ValidatorCRead-onlyIdempotentInspect
EUDR Geolocation Plot Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-165-eudr-dds-field-validator. Output feeds: art-167-eudr-commodity-scope-classifier. Open at: https://ainumbers.co/chaingraph/art-166-eudr-geolocation-plot-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false): 'Inputs are processed transiently to compute the response and are not stored, logged, or retained', plus non-obvious delegation behavior ('compute:"browser" forces client-side execution and returns a browser delegation URL'), artifact export with 'execution_hash for chain provenance', and upstream/downstream artifact dependencies. The 'Deterministic' claim reinforces the idempotentHint annotation. The FV-status receipt note ('a snapshot, not a subscription') is genuinely useful but buried. Signal-rich enough that I'd trade some provenance URL detail for core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One continuous wall of text with no paragraphing, mixing purpose, GPU kernel mechanics ('registered kernel on Cloudflare Workers'), a full provenance chain, a bare URL, and a 65+ character hash plus an FV-status theological aside. The opening is tautological with the title ('EUDR Geolocation Plot Validator: OpenChainGraph compute node') and the provenance chain and FV-status hash are presented as raw inline text rather than structured fields. It is under-specified in places (what does validation return?) and over-specified in others (Cloudflare Workers runtime details).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an operationally-focused artifact, coverage is solid: how compute is dispatched, that inputs aren't retained, what artifact is exported, and what the upstream/downstream dependencies are. With no output schema present, the description does disclose the AP2 artifact and execution_hash, partially covering the return contract. However, given the tool's name suggests a validation function, the absence of any statement about the validation semantics or decision output is a real gap, and policy_parameters — the actual 'decision function' input — is left as a documented black box void. Rich on plumbing, thin on the one thing a caller needs to trust the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description reinforces the compute parameter's semantics by restating how 'auto' vs 'browser' behave, but that adds zero information beyond the schema's own detailed per-value documentation, which already covers the gpu:false/gpu:true distinction. policy_parameters is hand-waved in both places — the schema punts with 'See the tool's manifest for field names' and the description offers nothing further. No contradiction, but also no value add over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description correctly identifies the tool as an 'EUDR Geolocation Plot Validator' via the title/name match, and adds that it is a 'Deterministic OpenChainGraph compute node (compliance_mandate)'. However, the core validation semantics are never actually explained — the prose jumps straight into compute modes ('gpu:false', 'compute:"browser"'), transient processing, and artifact provenance rather than stating what a geolocation plot validation entails or produces. It barely escapes a tautology score because the 'compute node' framing plus transient-processing and artifact-export details convey a genuine operational identity beyond restating the name, and it is distinguishable from siblings like validate_eudr_due_diligence_statement by the 'geolocation' scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool versus any of the ~50 sibling validate_* tools or related EUDR tools (score_eudr_country_risk, classify_eudr_commodity_scope, link_eudr_supply_chain_traceability). The only usage-adjacent directive is 'Use synthetic or anonymised inputs only', which is a data-hygiene warning, not a selection criterion. The extensive discussion of compute:'auto' vs 'browser' concerns how the tool executes, not when to pick it — leaving agents to guess at the triggering conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_eugb_factsheetEU Green Bond Factsheet & Allocation ValidatorBRead-onlyIdempotentInspect
EU Green Bond Factsheet & Allocation Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-68-carbon-compliance-fit-diagnostic, art-73-taxonomy-alignment-scorer. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-75-eugb-factsheet-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive/idempotent annotations, the description discloses meaningful behaviors: deterministic execution, compute-mode routing ('gpu:true nodes always delegate to the browser'), transient non-retention of inputs, AP2 artifact export with execution_hash, and an offline-verifiable FV-status receipt. No contradiction with annotations — idempotentHint aligns with 'deterministic' and readOnlyHint with 'inputs are processed transiently... not stored'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Nearly every sentence carries distinct information, but the ~180-word description is a dense, unbroken wall of jargon (OpenChainGraph, AP2, execution_hash, FV-status) with no sectioning, and the extended FV-status snapshot-vs-subscription explanation is tangential to invoking the tool. It is front-loaded with identity and compute behavior, but the core function statement is missing, so not all length earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex compute node with a nested policy_parameters object and no output schema, the description explains compute modes, privacy, and pipeline position well, but leaves two things an agent needs to call it correctly undocumented: the policy_parameters field names (deferred to a manifest) and the result structure beyond 'exports an AP2 artifact with execution_hash'. The browser delegation URL behavior is noted, which helps, but the decision-function input/output contract is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds concrete value on top: it names the exact upstream artifacts (art-68, art-73) that should populate parent_hashes/parent_tool_ids, and elaborates the compute enum's routing behavior ('auto' vs 'browser' vs gpu:true delegation). The one gap is policy_parameters, whose field names are deferred to 'the tool's manifest' rather than documented in either schema or description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title conveys the domain ('EU Green Bond Factsheet & Allocation Validator'), but the description never states a concrete verb+resource behavior — it identifies the tool as a 'deterministic OpenChainGraph compute node' and describes its pipeline role rather than what validation it performs on the factsheet. The actual validation semantics (what counts as a valid factsheet/allocation, what verdict is produced) are left entirely implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides pipeline usage context ('Consumes upstream artifacts from: art-68-carbon-compliance-fit-diagnostic, art-73-taxonomy-alignment-scorer. Output feeds: cry-04-merkle-batch-verifier') and an important constraint ('Use synthetic or anonymised inputs only'), which helps an agent decide whether to call it. However, it never contrasts itself with any of the hundreds of sibling validate_* tools, nor states 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.
validate_fdic370_output_fileFDIC Part 370 Output-File ValidatorBRead-onlyIdempotentInspect
FDIC Part 370 Output-File Validator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-535-fdic370-output-file-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses execution locality (Cloudflare Workers for gpu:false nodes, browser delegation for gpu:true or compute:"browser"), transient data handling ('inputs are processed transiently... not stored, logged, or retained'), determinism, and the export of an AP2 artifact with execution_hash for provenance. These details align with readOnlyHint=true and idempotentHint=true rather than contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences redundantly repeat 'OpenChainGraph compute node,' and the description carries platform boilerplate — the tool URL and FV-status receipt details — that is peripheral to invoking the tool. The purpose is front-loaded, but the duplicated and tangential content prevents this from being tightly written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description never states what the validator returns (pass/fail, artifact contents), and the actual validation semantics for FDIC Part 370 files are never described. Combined with a nested policy_parameters object whose field names are only available via an external manifest, an agent is under-equipped to construct a correct call or interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline of 3 applies; the description's prose about compute modes mostly restates the compute enum's existing schema text. The policy_parameters object's internal fields are deferred to 'the tool's manifest,' which the description does not inline, so the agent must look outside the definition to construct that argument correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line names the specific resource and operation — 'FDIC Part 370 Output-File Validator' with '(compliance_control)' — so an agent can tell this validates FDIC Part 370 output files. However, most of the text is generic OpenChainGraph compute-node boilerplate rather than describing what the validation actually checks, making the purpose clear in name but thin in substance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement exists about when to choose this tool over the dozens of sibling validate_* tools, and no alternatives are named or excluded. The only practical guidance, 'Use synthetic or anonymised inputs only,' is an input-safety constraint rather than tool-selection guidance, so an agent gets no help picking this validator over, say, validate_qfc_recordkeeping_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_form5500_schedulesERISA Form 5500 Schedule ValidatorCRead-onlyIdempotentInspect
ERISA Form 5500 Schedule Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-401-validate-form5500-schedules.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false; the description does not contradict these. It adds useful behavioral claims: 'inputs are processed transiently... not stored, logged, or retained' and 'Use synthetic or anonymised inputs only', plus the compute-mode delegation between server/browser. These disclose data handling and execution model, which is valuable. However, it says nothing about side effects on inputs or external systems beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense with technical jargon about OpenChainGraph, Cloudflare Workers, AP2 artifacts, and FV-status. It front-loads the name but then spends sentences on infrastructure details that are not central to the tool's purpose. It is not concise; every sentence could be reviewed, but many are about execution environment rather than the validator's functionality. There is no clear structure separating core behavior from peripheral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a form validator, an agent needs to know what inputs it expects (beyond the generic schema), what validation rules apply, and what the output will be (no output schema). The description provides none of this. It mentions 'Exports an AP2 artifact with execution_hash' but not the result format. The policy_parameters are left undefined. The tool is effectively a black box; the description focuses on compute mechanics rather than the domain logic, making it inadequate for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all four parameters (100% coverage), so the baseline is 3. The description adds minimal semantic value: it mentions 'policy_parameters' but refers to 'the tool's manifest' instead of explaining the fields, and it does not clarify how 'parent_hashes' or 'compute' are used beyond the schema text. It does not worsen the understanding but does not elevate it either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the title ("ERISA Form 5500 Schedule Validator") but never states what validation is actually performed. It dives into execution details ('OpenChainGraph compute node', 'compute:"auto"') without explaining the domain function. The agent cannot infer what schedules are checked or what counts as valid. The title and name hint at the purpose, but the description itself is vague about the core action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this validator versus the many other validate_* siblings. No mention of prerequisites, contexts that warrant Form 5500 validation, or when an alternative tool would be appropriate. The 'compliance_mandate' label is not elaborated. An agent gets no help deciding to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_fsma204_cteFSMA 204 Critical Tracking Event (CTE) ValidatorCRead-onlyIdempotentInspect
FSMA 204 Critical Tracking Event (CTE) Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-119-traceability-lot-code-linker. Open at: https://ainumbers.co/chaingraph/art-118-fsma204-cte-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description adds that it is deterministic, processes inputs transiently without storage, and exports an AP2 artifact with execution_hash. It also states 'Use synthetic or anonymised inputs only' as a requirement. However, it does not clarify what the validation result looks like or how the decision function behaves, which limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains redundant phrases like 'OpenChainGraph compute node' repeated and 'Deterministic' stated twice. It is packed with jargon (AP2 artifact, gpu:false nodes, Cloudflare Workers) that obscures the main purpose. While structured in sentences, the excessive technical detail makes it less concise and harder to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context: it does not specify what a Critical Tracking Event is, what inputs are needed for validation, or what output is produced beyond an artifact. It mentions output feeds to another tool but does not describe the validation criteria or provide examples. This leaves the agent without enough information to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides thorough descriptions for all parameters, including compute modes and policy_parameters. The tool description adds little beyond what is in the schema—it repeats compute mode behavior and mentions 'decision function' but does not explain parameter semantics further. Since schema coverage is 100%, the description does not enhance parameter understanding significantly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title indicates it is a validator for FSMA 204 Critical Tracking Events, but the description does not explain what validation entails. It focuses on compute modes and provenance rather than the tool's core function, making it hard for an agent to know what it actually does. The name implies validation of traceability events, but the description does not state that explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling validators (e.g., validate_emir_trade_report, validate_ap2_mandate_chain). It does not mention the specific use case for FSMA 204 CTE validation, nor does it describe any distinguishing conditions. The only hints are technical details about compute modes, not usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_fund_collateralTokenized Fund Collateral ValidatorBRead-onlyIdempotentInspect
Tokenized Fund Collateral Validator: OpenChainGraph compute node (collateral_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 505-tokenized-collateral-eligibility-checker. Open at: https://ainumbers.co/tools/514-tokenized-fund-collateral-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, idempotent, and non-destructive; the description adds deterministic execution, transient input handling ('not stored, logged, or retained'), server/browser delegation behavior, and AP2 artifact export with execution_hash. It also discloses the upstream dependency and an FV-status receipt. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with compute and provenance details and contains no outright fluff, but it repeats 'OpenChainGraph compute node' and 'Deterministic' in consecutive sentences. The URL and FV-status strings add provenance context but lengthen the definition. It is structured and useful, but not tight enough for a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers execution model, privacy, artifact output, and upstream consumption, but never explains what the validation result looks like or what decision is produced. An agent would know how the node runs but not what outcome to expect when invoking validate_fund_collateral. Given the four parameters and nested policy_parameters object, this is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with 100% coverage, so the baseline is 3. The description clarifies compute-mode behavior beyond the schema and warns to use synthetic inputs, but adds nothing about parent_hashes, parent_tool_ids, or policy_parameters fields, pointing to a manifest instead. This is adequate but not elevated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Tokenized Fund Collateral Validator' and 'collateral_mandate', which identifies the domain, but it never states a concrete verb+resource such as 'determines whether a fund's collateral meets mandate thresholds.' It names the upstream 505-tokenized-collateral-eligibility-checker, implying a downstream validation role, but the actual validation behavior is left to inference. This is clearer than a tautology but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose this tool over validate_tokenized_security_lifecycle, check_tokenized_collateral_eligibility, or other collateral tools. It does provide operational instructions—compute 'auto' vs 'browser' behavior and 'Use synthetic or anonymised inputs only'—and states it consumes upstream artifacts from 505-tokenized-collateral-eligibility-checker, implying a prerequisite. That is enough for implied usage but not explicit selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ifrs17_csm_rollforwardIFRS 17 CSM Roll-Forward ValidatorARead-onlyIdempotentInspect
IFRS 17 CSM Roll-Forward Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-177-ifrs17-measurement-model-classifier. Output feeds: art-179-ifrs17-risk-adjustment-checker. Open at: https://ainumbers.co/chaingraph/art-178-ifrs17-csm-rollforward-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses deterministic behavior, transient processing ('Inputs are processed transiently to compute the response and are not stored, logged, or retained'), and compute-mode delegation behavior (server-side vs browser, gpu:true always delegates). It also mentions the export of an 'AP2 artifact with execution_hash for chain provenance', adding significant behavioral context. This is a thorough disclosure of what happens during execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the tool type, but includes redundancy ('Deterministic OpenChainGraph compute node' appears twice) and extraneous details like the URL and FV-status receipt that are not directly relevant to selecting or invoking the tool. The structure is logical (identity, compute modes, data handling, provenance, pipeline), but it is longer than necessary for decision-making.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what the validation returns, but it only says 'Exports an AP2 artifact with execution_hash for chain provenance', leaving the actual validation result (pass/fail, errors, metrics) undefined. It also does not describe the specific validation logic for the CSM roll-forward, which is central to the tool's purpose. Given the complexity and missing output schema, the description is incomplete for an agent to understand the outcome of a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all four parameters, including the compute enum and definitions for parent_hashes, parent_tool_ids, and policy_parameters. The description adds some context about compute-mode behavior (e.g., 'gpu:true nodes always delegate to the browser') but does not materially enhance parameter-level meaning beyond the schema. With 100% schema coverage, the description's minimal param-specific additions keep it at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'IFRS 17 CSM Roll-Forward Validator' and an 'OpenChainGraph compute node (compliance_mandate)', making the verb 'validate' and the resource 'CSM roll-forward' clear. However, it does not explicitly state what validation entails (e.g., which checks are performed), leaving some ambiguity about the actual operation. It distinguishes from siblings like check_ifrs17_risk_adjustment by focusing on roll-forward validation, but the core behavior remains implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides pipeline context ('Consumes upstream artifacts from: art-177-ifrs17-measurement-model-classifier. Output feeds: art-179-ifrs17-risk-adjustment-checker') and an explicit instruction to 'Use synthetic or anonymised inputs only'. However, it does not state when to choose this tool over alternative validation tools or give conditions when not to use it. Usage is implied by the name and the pipeline links, but no explicit alternatives or exclusions are presented.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_input_attestationsValidate ChainGraph input attestationsARead-onlyIdempotentInspect
Verify an artifact's input_attestations[] (ChainGraph Standard §23): per RFC 6901 pointer, checks the attested value resolves inside policy_parameters and its digest binding matches, then verifies each type along its own path -- vc-2.0 via the shipped §16/§13.11 Data Integrity proof, rfc3161-snapshot via the same §20 rfc3161-tst verifier (no second RFC 3161 implementation), c2pa-manifest structurally (hard-binding digest match), zktls structurally-only (reported verifiable:"external" -- OCG never treats it as confirmed). Returns one { pointer, type, structural, verifiable } record per entry. Pure client-safe compute, zero network.
| Name | Required | Description | Default |
|---|---|---|---|
| artifact | No | A full ChainGraph artifact envelope carrying input_attestations[] and policy_parameters. | |
| policy_parameters | No | Artifact policy_parameters (if not passing a full artifact). | |
| input_attestations | No | The input_attestations[] array (if not passing a full artifact). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description aligns with annotations (readOnlyHint, idempotentHint, destructiveHint=false) and adds 'Pure client-safe compute, zero network.' It also discloses limitations, such as OCG never treating zktls as confirmed and that rfc3161-snapshot reuses the same verifier. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single, dense paragraph with no fluff. It front-loads the main action, then lists verification steps for each attestation type, and ends with return format and safety note. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return record structure ({ pointer, type, structural, verifiable }). It covers all attestation types and verification approaches. Could be slightly more explicit about error states, but overall sufficient for an agent to understand input, behavior, and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The tool description reinforces parameter usage (e.g., artifact, policy_parameters, input_attestations) but does not add significant new parameter-level semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it verifies an artifact's input_attestations[] per ChainGraph Standard §23, details specific checks for each attestation type, and describes the return format. This distinguishes it from sibling validation tools like validate_c2pa_manifest or validate_private_inputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly defines its scope by specifying the artifact and attestation context. While it does not explicitly state when to use vs alternatives, the detailed verification logic makes it clear this is the comprehensive validator for ChainGraph input attestations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mcp_authorization_metadataMCP Authorization Metadata Validator (RFC 9728)BRead-onlyIdempotentInspect
MCP Authorization Metadata Validator (RFC 9728): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-147-mcp-server-identity-attestation-validator. Output feeds: art-149-mcp-registry-entry-conformance. Open at: https://ainumbers.co/chaingraph/art-148-mcp-authorization-metadata-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint, idempotentHint, and destructiveHint already present, the description adds substantial behavioral context: inputs are processed transiently and not stored/logged/retained, computation is deterministic, gpu:true nodes always delegate to the browser, and an AP2 artifact with execution_hash is exported. These details go well beyond the annotations and describe side effects and privacy behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is heavily over-loaded with chain-provenance metadata: artifact IDs, consumption/feed relationships, a URL, an FV-status JSON hash, and a disclaimer about snapshots. The core behavioral statement is buried under infrastructure detail, and the description is not front-loaded with a concise one-line purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, privacy/retention, determinism, and artifact export, which is helpful given the absence of an output schema. However, it never explains what the validator actually validates, what a successful result looks like beyond the AP2 artifact, or what fields policy_parameters should contain, leaving a notable gap for a tool invoked by an autonomous agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds minor extra context such as 'Cloudflare Workers' and browser delegation, but it largely restates the compute parameter semantics and does not clarify the internal fields of policy_parameters, deferring to a manifest instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the title/class ('MCP Authorization Metadata Validator (RFC 9728)', 'OpenChainGraph compute node') and adds provenance metadata, but never gives an explicit action statement like 'validates MCP authorization metadata'. It identifies the resource and RFC but not the validation behavior, and it does not distinguish itself from sibling validators such as validate_mcp_server_identity or lint_mcp_tool_definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear compute-mode selection guidance and a strong constraint ('Use synthetic or anonymised inputs only'). However, it never states when to choose this tool over alternative sibling validators, and the placement in the artifact chain (consumes/f feeds) is more provenance than practical selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mcp_server_identityMCP Server Identity Attestation ValidatorCRead-onlyIdempotentInspect
MCP Server Identity Attestation Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-148-mcp-authorization-metadata-validator. Open at: https://ainumbers.co/chaingraph/art-147-mcp-server-identity-attestation-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavior beyond the annotations: inputs are processed transiently and not stored, logged, or retained; compute:"browser" returns a delegation URL; gpu:true nodes always delegate; and the tool exports an AP2 artifact with an execution_hash. It also advises using synthetic or anonymised inputs only. These details are consistent with the readOnly, idempotent, and non-destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one dense paragraph padded with invocation-irrelevant content such as the Open-at URL and the long FV-status receipt hash. The genuinely useful behavioral notes are buried among provenance and self-attestation details, making it harder for an agent to quickly extract what matters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must clarify the response shape, but it only says an AP2 artifact is exported and that browser mode returns a delegation URL; it does not state what the validation result looks like or what success/failure means. It also defers policy_parameters field names to an external manifest, leaving a significant input gap for a tool with nested optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful context for the compute parameter, explaining default "auto" behavior, server-side computation on Cloudflare Workers, and client-side delegation, going beyond the bare enum. It also ties parent_hashes to chain provenance through the AP2 artifact, though policy_parameters remains vague and points to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening phrase identify it as an MCP Server Identity Attestation Validator, but the description never states what validation is actually performed—what constitutes a valid identity attestation or what checks run. It focuses on compute routing, data handling, and artifact export, and does not distinguish itself from siblings like validate_mcp_authorization_metadata or validate_mcp_server_json.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description mentions that output feeds art-148-mcp-authorization-metadata-validator, implying a downstream consumer, but never states the conditions that should lead an agent to choose this validator over related validate_ or lint_ tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mcp_server_jsonMCP server.json Validator & Registry-Ready Skeleton GeneratorARead-onlyIdempotentInspect
Validate an MCP server.json against the 2025-12-11 schema and the official registry publishing rules; returns findings, a registry-readiness score, and an optional compliant skeleton. Use when a developer wants to check a server.json before publishing to the MCP Registry. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |
Output Schema
| Name | Required | Description |
|---|---|---|
| score | No | |
| findings | No | |
| skeleton | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds behavioral context: the tool renders an interactive widget, runs client-side via AIN Bridge, zero PII, zero network. This goes beyond annotations by explaining execution model and privacy characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, usage, execution behavior. Each sentence adds value with no redundancy. Front-loaded with primary action and resource, then context, then behavioral detail. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, output schema, and annotations, the description covers purpose, usage, execution (widget, client-side, privacy), and output types (findings, score, skeleton). It lacks detail on the compliant skeleton generation but is largely complete for a focused validation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'inputs' described in the schema as a map of tool input element IDs. The description mentions inputs are applied via AIN Bridge prefill, adding limited context. No detailed semantics about required structure, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates MCP server.json against a specific schema and registry rules, returning findings, score, and optional skeleton. It verb 'validate' and resource 'server.json' are explicit, and the use case (pre-publishing check) distinguishes it from sibling validation tools for other MCP artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the usage context: 'Use when a developer wants to check a server.json before publishing to the MCP Registry.' This provides clear context but does not list exclusions or alternative tools, though the niche is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mcp_task_lifecycleMCP Task Lifecycle State Machine ValidatorCRead-onlyIdempotentInspect
MCP Task Lifecycle State Machine Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-151-agent-obo-mandate-validator. Open at: https://ainumbers.co/chaingraph/art-152-mcp-task-lifecycle-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states that inputs are processed transiently and not stored, logged, or retained, and that the operation is deterministic. It also mentions the export of an AP2 artifact, but does not describe the artifact's structure or any side effects beyond that. Given the read-only annotations, this is adequate but not highly detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly repetitive, repeating 'OpenChainGraph compute node', 'compliance_mandate', and the compute mode logic multiple times. The structure is muddled with chain provenance and URL details, making it verbose and unfocused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description only minimally mentions 'Exports an AP2 artifact with execution_hash', which is insufficient to understand the full return. It also references consuming upstream artifacts but does not explain how that affects validation. The description lacks essential information about inputs, outputs, and dependencies for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The compute parameter is well explained in the description, and parent_hashes/parent_tool_ids are self-explanatory. However, policy_parameters is only described as 'see the tool's manifest', adding little beyond the schema. The description largely repeats schema information for compute rather than providing new semantic clarity for other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool is an 'MCP Task Lifecycle State Machine Validator', but then focuses heavily on compute binding and chain provenance without clearly elaborating what validation is performed or what the output represents. The core purpose is present but not detailed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not specify when to use this validator compared to the many sibling validation tools. It mentions using synthetic or anonymised inputs only, but provides no scenario-based guidance or exclusions. Lacks clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mletr_recordMLETR / eBL Conformance & Enforceability ValidatorARead-onlyIdempotentInspect
MLETR / eBL Conformance & Enforceability Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-52-digital-trade-fit-diagnostic. Output feeds: 510-digital-asset-regulatory-classifier, cry-04-merkle-batch-verifier, ml-02-credit-default-risk-scorer. Open at: https://ainumbers.co/chaingraph/art-53-mletr-ebl-conformance-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Rich behavioral disclosure well beyond the annotations: it details transient processing (not stored, logged, or retained), deterministic behavior, the server/browser execution split, the browser delegation URL outcome, the AP2 artifact + execution_hash export, and the offline-verifiable FV-status snapshot. The 'use synthetic or anonymised inputs only' instruction is a substantive privacy-affecting behavioral disclosure. No contradiction with readOnly/idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and information-dense, with heavy infrastructure detail (Cloudflare Workers, gpu:false, kernel registration, artifact chains, long URLs). It is well organized with the purpose front-loaded and each sentence carrying real content, but several details (upstream/downstream lists, full URLs) could be trimmed or moved to structured fields without losing essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, no-output-schema tool, the description covers execution modes, data retention, provenance chaining, browser fallback behavior, and integration context extensively, and the constraints are documented at 100% schema coverage. However, the policy_parameters field names and the actual conformance validation criteria are not discoverable from the description itself (deferred to a manifest), and the return value is described only in terms of artifacts, not the validator decision, so the loop is not fully closed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents all four parameters in detail, including the compute enum semantics and the matching requirement between parent_hashes and parent_tool_ids. The description reinforces the compute mode behavior but adds no genuinely new parameter-level meaning beyond matching what the schema already provides. The policy_parameters object defers field names to an external manifest, which is a residual gap in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a validator of MLETR / eBL records for conformance and enforceability, and situates it as a deterministic OpenChainGraph compute node. It distinguishes the domain from the many generic 'validate_*' siblings through the MLETR/eBL branding. However, it never specifies what 'conformance' or 'enforceability' actually means or what validation criteria are applied, so the semantic core remains somewhat implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful usage context: it names the specific upstream artifact (art-52-digital-trade-fit-diagnostic) and downstream consumers, and explains when server vs browser compute modes apply. However, it never explicitly states when to choose this tool over sibling validators or related trade tools (e.g., check_digital_trade_rules, verify_trade_document_set), and gives no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mt700_lc_fieldsMT700 LC Field ValidatorCRead-onlyIdempotentInspect
MT700 LC Field Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-474-validate-mt700-lc-fields.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false. The description discloses that inputs are processed transiently and not stored, which adds privacy context. It also explains compute mode behaviors (server vs browser delegation, gpu:true always delegates) and notes the AP2 artifact export with execution_hash. It even includes a verifiable FV-status receipt. This aligns with annotations and adds helpful operational context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and dense, mixing operational details (compute modes, GPU, Cloudflare Workers) and provenance information (AP2 artifact, FV-status) that may be irrelevant to the agent's decision to call this tool. The core purpose and usage guidance are buried under this noise. It lacks a clear front-loaded summary of what validates and why. The length detracts from usability; a more concise description would likely improve agent performance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (4 parameters, nested object, policy parameters with undefined fields), the description is insufficient. It doesn't explain the expected input format for MT700 fields or how policy_parameters should be structured. There's no output schema, so the description should explain what the tool returns, but it only mentions an AP2 artifact. Agent needs to know what constitutes a valid result and any constraints on inputs (e.g., must be synthetic). The description mentions 'Use synthetic or anonymised inputs only' but doesn't clarify why.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter (compute, parent_hashes, parent_tool_ids, policy_parameters) has detailed descriptions in the schema. However, the description itself adds no parameter-specific guidance beyond what's already in the schema. Although the schema covers parameter meanings, the description does not explain how these parameters relate to the MT700 validation logic, which could be critical. For example, policy_parameters is described as 'Input parameters for this tool's decision function' but the description doesn't mention what those parameters should be or how they affect validation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an MT700 LC Field Validator, which implies a validation function for LC fields. However, it does not specify exactly what fields it validates or what output it produces (e.g., validity status, errors list). The name suggests it validates MT700 LC fields, but the description is obscured by lengthy operational details about compute modes and provenance, making the core purpose less clear. It distinguishes from siblings only by name, not by explicit functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions compute modes and GPU behavior but does not explain when to use this tool versus other validation tools (e.g., validate_input_attestations, lint_*). It does not state prerequisites, such as needing an MT700 message format or specific policy parameters. There's no guidance on when to use this over sibling validation tools; the description is generic and applicable to many OpenChainGraph tools, not specific to this tool's domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_nft_metadata_art209NFT Metadata ValidatorCRead-onlyIdempotentInspect
NFT Metadata Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-209-nft-metadata-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds transparency beyond the annotations: it states inputs are processed transiently and not stored, logged, or retained, that compute turns are deterministic, and that it exports an AP2 artifact with an execution_hash. It also explains gpu:true delegation behavior. This complements the readOnlyHint and idempotentHint annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and cluttered with unrelated operational details like a URL and a specific FV-status file path. Key information is buried in a long paragraph, and the core purpose is not front-loaded. It could be shortened by removing the promotional links and focusing on functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the schema and annotations, the description fails to explain what NFT metadata validation actually does, what criteria it checks, or what the output artifact contains. It mentions 'compliance_mandate' without elaboration. The focus on execution mechanics and chain provenance leaves the essential purpose unexplained, making it incomplete for an agent deciding whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) are already documented. The description adds detail on compute mode behavior (server vs browser) and the purpose of parent_hashes as chaining values, but this is marginal and doesn't significantly change meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title as 'NFT Metadata Validator' and calls it an 'OpenChainGraph compute node,' but it never explicitly states what validation it performs or what the output represents. It implies validation by name but lacks a clear verb and resource beyond the generic compute-node framing, so it does not distinguish its function from other validate_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description focuses entirely on compute modes (auto/server/browser) and delegation mechanics, which are about configuring execution, not about selecting this tool for a task. There is no mention of scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_openids_homeowners_recordopenIDS Homeowners Record ValidatorCRead-onlyIdempotentInspect
openIDS Homeowners Record Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-256-validate-openids-homeowners-record.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond annotations: it discloses that inputs are processed transiently and not stored, that execution is deterministic, that synthetic/anonymised inputs are required, and that an AP2 artifact with execution_hash is exported. It also explains compute modes and gpu delegation. These details complement the readOnlyHint, idempotentHint, and destructiveHint annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overloaded with extraneous information: a full URL to an artifact page, an FV-status receipt path, and a note about offline verification. These do not help an agent invoke the tool and dilute the essential details. The core instructions (compute modes, transient processing, synthetic inputs) are hidden among ambient provenance boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the tool returns besides 'Exports an AP2 artifact with execution_hash'. It never describes the validation result (pass/fail, score, report) or what policy_parameters should contain, relying on an external manifest. For a validation tool with no output schema, this is a significant gap that leaves an agent uncertain about the response format and expected inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description adds value for the 'compute' parameter by explaining the auto/server/browser behavior and gpu interaction. For policy_parameters, it only points to a manifest ('See the tool's manifest'), which is not present in the description, so the agent gets no field-level detail. Overall, it adds a little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames the tool as a 'compute node' and mentions 'compliance_mandate' but never actually states what validation is performed on homeowners records. It spirals into compute-mode details (auto/server/browser, gpu) without clarifying the core function. The title and name imply validation, but the description is mostly about execution mechanics, leaving the purpose vague and not clearly distinguished from other validate_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any alternative. It does not mention that it is for validating openIDS homeowners records against a specific schema or criteria, nor does it name a sibling tool that should be used instead. The only context is 'compliance_mandate', but no trigger condition or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_openvex_statementOpenVEX Statement ValidatorCRead-onlyIdempotentInspect
OpenVEX Statement Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-136-slsa-provenance-verifier. Open at: https://ainumbers.co/chaingraph/art-137-openvex-statement-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description extensively discloses behavioral traits: determinism, transient/private processing ('not stored, logged, or retained'), export of an AP2 artifact with execution_hash, consumption of upstream artifacts, and the FV-status snapshot semantics. These complement rather than contradict the annotations (readOnlyHint, idempotentHint, destructiveHint). The only minor omission is an explicit statement that the tool performs no state changes, but the annotations already cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose and dense with niche platform details (Cloudflare Workers, browser delegation, FV-status URL) that are irrelevant for most callers. It is not front-loaded with the core purpose; it leads with the title and compute node classification. Several sentences could be removed without loss of value, making it far from concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the high level of behavioral detail, the description lacks the essential information an agent needs to call the tool correctly: what an OpenVEX statement is, what inputs to provide (besides vague 'policy_parameters'), what output format is expected, and how the consumed upstream artifact affects execution. The description is complete on compute mechanics but incomplete on the tool's actual validation domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter has an adequate description in the schema. The tool description adds minimal extra semantics: it mentions 'policy_parameters' as 'input parameters for this tool's decision function' but without field names, and it explains compute modes beyond the schema. No critical parameter meaning is added beyond the schema, so 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the title verbatim and then discusses compute node mechanics, but never explicitly states that this tool validates OpenVEX statements. It mentions 'compliance_mandate' and 'consumes upstream artifacts from: art-136-slsa-provenance-verifier' but does not say what validation logic it applies or what an OpenVEX statement is. The verb 'validate' is implied only by the name, not described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any of the many sibling validation tools. It does not mention alternative tools, prerequisites, or specific use cases (e.g., 'use when you need to verify an OpenVEX statement conforms to a schema'). The compute mode discussion is about execution mechanics, not about selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_pacs008_party_completenesspacs.008 Party Completeness ValidatorARead-onlyIdempotentInspect
pacs.008 Party Completeness Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-241-cbpr-structured-address-linter. Output feeds: art-246-lei-payment-binding-linter. Open at: https://ainumbers.co/chaingraph/art-242-pacs008-party-completeness-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description goes well beyond them: it states the node is deterministic, inputs are processed transiently and not stored/logged/retained, browser execution returns a delegation URL, and the tool exports an AP2 artifact with execution_hash for provenance. It also names upstream and downstream artifacts, adding real behavioral context without contradicting any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and logically ordered: compute behavior, privacy handling, provenance, chain links, and verification status. However, it repeats 'OpenChainGraph compute node' in the first two sentences, and the FV-status hash and URL add implementation detail that may not be necessary for tool selection or invocation. It is structured but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining return behavior; it does say an AP2 artifact with execution_hash is exported and browser mode returns a delegation URL. However, it does not explain what a validation result looks like, what fields are checked for party completeness, or how the actual pacs.008 document is supplied via policy_parameters. The description covers compute and provenance well but leaves the core validation semantics underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds meaningful semantics beyond the schema for compute modes (auto/server/browser, gpu:true always delegates) and for parent_hashes by naming the actual upstream artifact (art-241-cbpr-structured-address-linter) and downstream consumer (art-246-lei-payment-binding-linter). It does not elaborate on policy_parameters field names, but the schema itself already points to the tool manifest for those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence clearly identify a validator for pacs.008 party completeness, and the description situates it as an OpenChainGraph compute node with a compliance mandate. It does not, however, explicitly state what 'party completeness' means or what validation checks are performed, so it stops short of fully distinguishing itself from other validate_* tools in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage guidance for the compute parameter: auto defaults to server-side, browser forces client-side delegation, and gpu:true nodes always delegate. It also instructs users to provide synthetic or anonymised inputs only. It does not explicitly state when to choose this validator over alternatives or when it should be skipped, but the upstream/downstream artifact chain gives some contextual placement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_private_inputsValidate ChainGraph private-input commitmentsARead-onlyIdempotentInspect
Verify an artifact's private_inputs[] (ChainGraph Standard §25 ocg-private-input@1) WITHOUT ever seeing the plaintext witness: per RFC 6901 pointer, checks the pointed value inside policy_parameters IS the declared sha256-salted@1 commitment (never the plaintext, §25.2), that the commitment scheme is known, and -- when a §18 compute_proof is present -- that its journal commits the same commitment and binds output_payload. Optionally accepts an out-of-band {pointer, salt, input_value} disclosure package (authorized-verifier path) and recomputes sha256(salt || cgCanon(input_value)) to confirm it equals the commitment. Returns one {pointer, verifiable} record per entry: "proof-only" | "disclosed-verified" | "commitment-only" (no proof yet -- structural + plaintext-exclusion only) | "failed". Pure client-safe compute, zero network, never requires the plaintext.
| Name | Required | Description | Default |
|---|---|---|---|
| artifact | No | A full ChainGraph artifact envelope carrying private_inputs[], policy_parameters, and optionally output_payload + audit_signature.compute_proof. | |
| disclosures | No | OPTIONAL authorized-verifier disclosure packages, keyed by pointer, for the disclosed-verified path. | |
| compute_proof | No | audit_signature.compute_proof (if not passing a full artifact). | |
| output_payload | No | Artifact output_payload (if not passing a full artifact). | |
| private_inputs | No | The private_inputs[] array (if not passing a full artifact). | |
| policy_parameters | No | Artifact policy_parameters (if not passing a full artifact). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: 'Pure client-safe compute, zero network, never requires the plaintext.' It explains the verification logic and that no state mutation occurs, going beyond the annotations. No contradiction is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose but is long and dense, containing many technical specifics (RFC 6901, sha256-salted, §25.2, etc.). While every sentence contributes to completeness, the length may overwhelm. It could benefit from structuring into bullet points for easier parsing, but it is not excessively verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested objects, no output schema), the description covers the essential aspects: input specification, verification logic, optional disclosure path, and return format. It describes the possible return values (proof-only, disclosed-verified, etc.). There are minor gaps (e.g., error handling), but overall it provides sufficient context for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description enriches parameter understanding. It explains that 'artifact' is the full ChainGraph envelope and that other parameters (e.g., compute_proof, output_payload) are optional alternatives. It clarifies the 'disclosures' parameter as authorized-verifier packages. This adds meaning beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: verifying ChainGraph private-input commitments without seeing the plaintext. It specifies the verification logic, optional disclosure path, and return values. This distinguishes it from other 'validate_' sibling tools, which deal with different aspects (e.g., agent cards, mandates). The verb 'validate' is specific to the resource 'private_inputs[]' and the standard (§25 ocg-private-input@1).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool versus alternative validation tools. While the technical depth implies its domain, there is no 'use this for' or 'avoid when' advice. The sibling list includes many validate tools, but no distinction criteria are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_pvp_settlementMulti-Currency PvP ValidatorCRead-onlyIdempotentInspect
Multi-Currency PvP Validator: OpenChainGraph compute node (settlement_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 507-canton-dvp-atomicity-validator, 505-tokenized-collateral-eligibility-checker. Open at: https://ainumbers.co/tools/511-multi-currency-pvp-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| has_canton_leg | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description repeatedly reinforces non-storage and non-retention. It adds compute-mode behavior (auto/server/browser delegation) and the AP2 artifact export, which are useful beyond annotations. However, it is verbose and does not clearly state what 'validate' means in terms of pass/fail output semantics or side effects. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly long and dense with provenance URLs, FV-status links, and upstream artifact identifiers that do not help an agent call the tool. It front-loads 'Multi-Currency PvP Validator' but then spends sentences on compute binding and AP2 artifact details that belong elsewhere. The essential 'what decision is validated' is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations cover read-only/idempotent characteristics, the description adds compute-mode and provenance context. However, it never states what inputs constitute a PvP settlement or what a 'valid' result means—the core validation logic is opaque. The policy_parameters reference to a manifest leaves the most important param undefined, making it incomplete for actual invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema descriptions for compute, parent_hashes, parent_tool_ids, and policy_parameters are reasonably informative. The description adds context about compute modes and chain provenance (execution_hash, parent_hashes), exceeding the schema. The policy_parameters field is explicitly deferred to 'the tool's manifest', which is a notable gap since it is the actual decision input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a verb ('validate') and resource ('Multi-Currency PvP Validator') but labels itself as 'compute node' and 'deterministic OpenChainGraph compute node', which is generic among numerous sibling validation tools. It reads like a marketing or provenance blurb rather than a clear functional statement distinguishing this from validate_canton_dvp_atomicity or classify_settlement_asset_finality. The purpose is mostly clear but not sharply differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this versus a sibling. The description focuses on compute modes and artifact provenance, not on the decision problem (multi-currency PvP settlement) or when this validator is the right choice. No exclusions, no alternatives, no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_qfc_recordkeeping_fileQFC Part 371 Recordkeeping File ValidatorCRead-onlyIdempotentInspect
QFC Part 371 Recordkeeping File Validator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-537-qfc-recordkeeping-file-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, destructiveHint false), the description discloses that inputs are processed transiently and not stored/logged/retained, that synthetic or anonymised inputs should be used, and that the tool exports an AP2 artifact with execution_hash for provenance. These details add context about side effects and constraints that annotations do not convey. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, spending most of its length on infrastructure boilerplate (OpenChainGraph, Cloudflare Workers, browser delegation, FV-status links) rather than the core validation purpose. It is not front-loaded with the essential statement of what the tool does; rather, it buries the actual function under execution details. The inclusion of a chain-provenance URL and JSON receipt further dilutes focus.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is responsible for explaining return values. It vaguely mentions exporting an AP2 artifact with execution_hash, but does not describe the validation outcome (e.g., valid/invalid, reasons, errors). It also tells users to 'see the tool's manifest' for policy_parameters field names, leaving a gap. Given the tool's purpose is validation, the lack of any description of what constitutes a valid or invalid file is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 4 parameters (compute, parent_hashes, parent_tool_ids, policy_parameters), so the baseline is 3. The tool description adds nothing about parameter semantics; it only restates compute modes in prose and says 'policy_parameters' is for the decision function, which is already in the schema. No additional meaning is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name indicate a QFC Part 371 recordkeeping file validator, but the description never explicitly states that it validates files against this regulation. It repeatedly references 'OpenChainGraph compute node' and execution modes, which obscures the actual function. The description provides no statement like 'validates compliance of a recordkeeping file' or what decision it makes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description focuses entirely on compute-mode mechanics (auto/server/browser, Cloudflare, browser delegation) and provides no guidance on when to use this validator versus other validation tools among the many sibling tools. There is no mention of prerequisites, typical use cases, or conditions that would make this tool the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_regf_call_frequencyReg F Call-Frequency Presumption ValidatorBRead-onlyIdempotentInspect
Reg F Call-Frequency Presumption Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-403-check-debt-validation-notice. Open at: https://ainumbers.co/chaingraph/art-402-validate-regf-call-frequency.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the readOnlyHint:true/idempotentHint:true annotations: inputs are 'processed transiently... not stored, logged, or retained,' computation location is disclosed ('server-side on Cloudflare Workers' vs. browser delegation), and the FV-status receipt semantics are explained as offline-verifiable. The 'Use synthetic or anonymised inputs only' is a significant disclosure that the read operations may not be appropriate for sensitive data. It loses a point only because the description never explains the project's actual decision function or its output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but wastes its opening lines on near-repetition ('OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node.') and diverges into GPU/kernel/Cloudflare mechanics before addressing behavior. The progression from identity to compute semantics to data handling to provenance/verification is logical and packs a lot of signal into a modest word count. The final FV-status clause is jargon-heavy and likely to confuse more than clarify for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should tell an agent what the tool returns, but it only says 'to compute the response' and that an 'AP2 artifact with execution_hash' is exported — the actual validation result shape is never described. The pointer to a tool manifest for policy_parameters shifts the burden onto documentation the agent may not have. That said, for a deterministic, read-only, 0-required-param validator, an agent can plausibly call it and inspect the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema carries the parameter-level load; the description's additional context about compute pushing to remote servers and non-retention adds broad operational color rather than parameter-specific meaning. The description's peek into policy_parameters ('See the tool's manifest for field names') is a partial cop-out that leaves the most important parameter opaque. This lands at the schema-carrying baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description follows the name and title with 'OpenChainGraph compute node' and 'Deterministic... compute node,' which confirms it's a validator but never articulates what Reg F call-frequency presumption validation actually involves. The domain purpose is inferred from the name and title, not stated — the description prioritizes infrastructure mechanics (Cloudflare Workers, kernels, browser delegation) over the compliance meaning. It's clearer than a tautology but stops short of explaining what an agent would use the result for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no exclusions, and no comparison to any of the ~700 sibling tools that could plausibly overlap ('check_debt_validation_notice', 'validate_ap2_mandate_chain', etc.). The 'Output feeds: art-403-check-debt-validation-notice' note implies pipeline position, and 'Use synthetic or anonymised inputs only' is a genuine use constraint, but an agent cannot tell when to prefer this over a similar validator without domain archaeology.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_royalty_splitRoyalty Split ValidatorBRead-onlyIdempotentInspect
Royalty Split Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-208-royalty-split-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations: 'Inputs are processed transiently to compute the response and are not stored, logged, or retained', 'Exports an AP2 artifact with execution_hash for chain provenance', and the compute delegation logic (browser delegation URL for gpu:true or browser mode). Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description aligns with these, adding details on data retention and artifact generation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and somewhat repetitive, opening with 'Royalty Split Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node.' This repeats the compute node identifier. It packs in many details (compute modes, transient processing, artifact export, FV-status URL) that are relevant but could be better organized. The front-loading of purpose is helpful, but the repeated phrase and technical clutter reduce conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute modes, data retention, artifact export, and FV-status, which are relevant given the tool's complexity. However, it does not describe the validation logic or the expected response format (no output schema exists). While it mentions 'Exports an AP2 artifact with execution_hash', it doesn't clarify what the actual validation result looks like (e.g., boolean, report). For a tool that validates royalty splits, this is a notable omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage, describing all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) with their meanings. The description adds minimal parameter-related info: it explains the compute modes and the transient nature of inputs, but does not enrich the semantics of parent_hashes, parent_tool_ids, or policy_parameters beyond the schema. Since schema coverage is high, the baseline is 3, and the description does not add significant value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Royalty Split Validator' and identifies it as an 'OpenChainGraph compute node (compliance_mandate)', clearly indicating its role as a validator for royalty splits. It also adds 'Deterministic' which suggests a fixed computation. However, it does not explicitly state what aspects of a royalty split are validated (e.g., sum, proportions), nor does it differentiate from calculation tools like calculate_erc2981_royalty beyond the validator title. The purpose is clear enough but lacks specificity on validation criteria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage guidance on input data ('Use synthetic or anonymised inputs only') and compute mode selection (auto/server/browser behavior), but it does not state when to choose this tool over alternatives, such as royalty calculation tools or other validators. There are no explicit exclusions or alternative tool references. The guidance is operational (how to run) rather than contextual (when to use).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_signature_agent_cardSignature Agent Card ValidatorCRead-onlyIdempotentInspect
Signature Agent Card Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-130-signature-directory-validator. Open at: https://ainumbers.co/chaingraph/art-131-signature-agent-card-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds valuable context beyond that: it is deterministic, inputs are processed transiently and not stored/logged/retained, and users are advised to use synthetic or anonymised inputs. It also explains the compute delegation behavior (browser returns a URL) and exports an AP2 artifact with an execution_hash for chain provenance. This exceeds what annotations provide and helps an agent understand side effects and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a long, unstructured block of text that mixes core purpose, compute details, chain provenance, a URL, and an FV-status link. It repeats 'Deterministic OpenChainGraph compute node' twice and includes operational meta-information (URLs, JSON receipts) that is not essential for an agent to call the tool. Important information like validation criteria is buried amid verbose environment description, making it inefficient to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four optional parameters (including a nested object) and no output schema, so the description carries a heavy burden to explain expected behavior and return format. It fails to do so: it never states what the validation result looks like (pass/fail? error codes?), what constitutes a 'valid' signature agent card, or how the execution_hash is used. The chain provenance and compute-mode details are useful but do not compensate for the missing core validation semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already well documented in the input schema (compute enum, parent_hashes, parent_tool_ids, policy_parameters). The tool description adds some extra context—clarifying the compute mode behavior (server-side vs. browser delegation) and stating policy_parameters are inputs to the decision function—but it does not elaborate on parent_hashes/parent_tool_ids beyond the schema. This is a modest improvement over the schema baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the tool 'Signature Agent Card Validator' and calls it a 'deterministic OpenChainGraph compute node,' but never specifies what validation actually entails—what rules are checked, what makes a card valid, or what the tool verifies beyond consuming an upstream artifact. It does not differentiate itself from close siblings like 'validate_signature_directory' or 'verify_a2a_agent_card,' so an agent cannot tell whether this is the right tool for a given validation task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description explains compute modes (auto/server/browser) and mentions consuming upstream artifacts from one specific node, but it never states conditions that select this tool over sibling validators, nor what scenarios require browser delegation. An agent is left to infer usage from the tool's name and the vague compute details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_signature_directoryHTTP Signatures Directory ValidatorCRead-onlyIdempotentInspect
HTTP Signatures Directory Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-129-webbotauth-signature-verifier. Output feeds: art-131-signature-agent-card-validator. Open at: https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations, such as determinism, transient processing, and compute-mode delegation rules. However, it lacks explicit information about side effects (beyond exporting an artifact) and does not fully explain failure modes or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive (e.g., 'OpenChainGraph compute node' appears twice). It includes excessive technical details, URLs, and artifact feed references that are not essential for immediate understanding, making it poorly structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks a clear explanation of the tool's output (what the validation result is), the nature of the 'signature directory', and how the parameters (especially policy_parameters) should be used. It feels incomplete for a validation tool with nested objects and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter already described. The tool description does not meaningfully augment these descriptions, reiterating compute modes that are already in the schema. Baseline of 3 applies; no additional value added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name suggest validating a signature directory, but the description primarily discusses compute modes, data handling, and artifact references without explicitly stating the validation action or what constitutes a signature directory. The core function is obscured by technical jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description mentions compute modes and kernel registration but does not clarify selection criteria or typical use cases, leaving the agent without direction for appropriate application.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_slate_report_fieldsSLATE Securities-Loan Report Field ValidatorCRead-onlyIdempotentInspect
SLATE Securities-Loan Report Field Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-544-slate-report-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: deterministic execution, transient input processing, no storage/logging/retention, synthetic-or-anonymised-input instruction, browser delegation for compute:"browser" and gpu:true, and AP2 artifact export with execution_hash. These go well beyond readOnlyHint/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains clear redundancy, e.g., 'OpenChainGraph compute node' appears twice within the first two sentences. Compute-mode details are duplicated in the schema, while the provenance URL and FV-status token add length but little usage-relevant value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool's core domain function is missing. There is no indication of what report data to provide, which fields are validated, what validation errors look like, or what the output artifact contains besides execution_hash. With no output schema, the description needed to explain the validator's purpose and result format but did not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 repeats compute-mode behavior already covered in the schema but does not clarify what policy_parameters should contain; it defers to 'the tool's manifest,' leaving the core domain inputs underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the tool's name and then descends into compute-node mechanics; it never states a clear verb+object such as 'validates SLATE securities-loan report fields against X rules.' The title implies validation, but the body never explains what the validator actually does, what fields it checks, or what counts as valid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The compute-mode explanation is parameter-level instruction, not tool-selection guidance. No sibling tools or exclusionary conditions are mentioned, leaving the agent to infer applicability 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.
validate_spdx_sbomSPDX SBOM Validator (EU CRA Annex I)BRead-onlyIdempotentInspect
SPDX SBOM Validator (EU CRA Annex I): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-139-cra-annex1-completeness-checker. Open at: https://ainumbers.co/chaingraph/art-138-spdx-sbom-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations: determinism, transient input processing (not stored/logged/retained), synthetic-input requirement, browser delegation for gpu:true nodes, AP2 artifact export with execution_hash, and the output feed. This is critical for an agent to invoke the tool with safe and appropriate inputs, and it does not contradict the readOnlyHint or idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and somewhat redundant, repeating 'OpenChainGraph compute node' and including a long FV-status paragraph that is peripheral to invoking the tool. While the information is relevant, it is not tightly structured, and several sentences could be condensed without loss of clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validator with no output schema, the description does not explain what the validation result looks like (e.g., pass/fail, issues list, or execution_hash details). It covers compute modes and data handling well, but leaves the actual validation outcome format to inference. Adequate for basic invocation, but a notable gap exists for a tool that produces a specific artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description goes further by clarifying the compute parameter's modes (auto/server/browser) and their behavioral implications (server-side on Cloudflare Workers vs. browser delegation), and explains that policy_parameters are computed server-side under auto/server. This adds meaningful context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name indicate it validates SPDX SBOMs for EU CRA Annex I, but the description itself does not explicitly state a verb+resource. It mainly describes operational details (compute modes, transient processing, provenance). Sibling differentiation is weak; an agent may not be able to distinguish it from validate_cyclonedx_sbom or check_cra_annex1_completeness based on 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternative validators or completeness checkers. The compute-mode instructions (auto/server/browser) are within-tool configuration, not tool selection. The only directive, 'Use synthetic or anonymised inputs only', does not address choosing among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_tempo_token_complianceTempo Stablecoin Issuance ComplianceARead-onlyIdempotentInspect
Tempo Stablecoin Issuance Compliance: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-34-tempo-fit-diagnostic. Output feeds: art-06-genius-act-reserve-attestation, art-10-amla-transaction-typology-risk-scorer, art-38-tempo-onchain-aml. Open at: https://ainumbers.co/chaingraph/art-37-tempo-stablecoin-issuance.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds valuable behavioral context beyond these: inputs are processed transiently ('not stored, logged, or retained'), data handling guidance ('Use synthetic or anonymised inputs only'), and execution provenance ('Exports an AP2 artifact with execution_hash...' and FV-status receipt). This meaningfully explains side effects and privacy posture. It does not contradict annotations (readOnlyHint aligns with the transient, non-retained compute). Minor gap: no explicit statement that the tool has no persistent state, though idempotency + read-only covers this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, mixing multiple concerns: compute mode mechanics, privacy guarantees, artifact export, chain provenance, FV-status receipt, and URLs. It front-loads the compute-mode behavior, which is important context, but buries the core purpose (compliance validation) and the 'synthetic inputs only' instruction in the middle. The FV-status receipt sentence is disproportionately detailed relative to its relevance for tool invocation. The description would benefit from tighter structuring with the key behavioral points (purpose, privacy, compute modes) first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (none required), 100% schema coverage, an output artifact described (AP2 artifact with execution_hash), and comprehensive annotations (read-only, idempotent, non-destructive), the description is complete. It covers what the tool does, its execution modes, data handling, provenance/chain links, upstream/downstream consumers, and verification. There is no output schema, so the description's statement about the exported AP2 artifact and FV-status receipt adequately covers return expectations. The absence of explicit return-value description is acceptable here because the artifact export and receipt are described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents all four parameters clearly. The description adds value by explaining the compute enum semantics in detail ('auto' = server for gpu:false nodes with registered kernels, 'browser' returns delegation URL) and by explaining how parent_hashes are used ('execution_hash values... to chain from'). It also relates policy_parameters to a 'decision function' and points to the manifest for field names. This goes beyond the schema's own descriptions, which are terse. Slight deduction: it does not enumerate the policy_parameters fields, instead deferring to the manifest, which is acceptable given the schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description name a specific resource ('Tempo Stablecoin Issuance Compliance' compute node) and a clear verb ('validate'), distinguishing it as a compliance-check tool. However, the description lacks a plain-language statement of what the tool actually computes or validates (e.g., what compliance rule it enforces), instead leading with architecture detail (OpenChainGraph compute node, compute modes). It is more specific than a tautology but does not clearly differentiate from siblings like 'validate_tempo_zone_disclosure' or 'simulate_stablecoin_reserve' in behavioral terms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance for compute modes (auto/server/browser) and states the default behavior. It also names upstream/downstream artifacts that frame the tool's position in a pipeline. It does not, however, state when NOT to use this tool or name alternative tools/conditions (e.g., 'use validate_tempo_zone_disclosure for zone-level checks'), leaving the decision of when this is the right compliance validator partially implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_tempo_zone_disclosureTempo Zone Selective-Disclosure AttestationARead-onlyIdempotentInspect
Tempo Zone Selective-Disclosure Attestation: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-38-tempo-onchain-aml. Output feeds: cry-01-zk-compliance-proof-generator. Open at: https://ainumbers.co/chaingraph/art-39-tempo-zone-disclosure.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful behavioral detail far beyond the annotations: inputs are 'processed transiently and are not stored, logged, or retained'; browser mode 'returns a browser delegation URL instead'; the FV-status link is 'a snapshot, not a subscription; this receipt verifies offline regardless'. All of this is consistent with readOnlyHint=true and idempotentHint=true, adding trust and determinism context rather than contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but information-carrying, front-loads the core role and determinism, then systematically covers execution modes, privacy, dependency graph, artifact output, access place, and trust status. The FV-status sentence is a bit lengthy for a description, but it communicates an important offline-verifiability trait. Everything earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the essential gaps: expected return in browser mode versus server-side, the AP2 artifact with execution_hash, input sensitivity, chain position (upstream/downstream artifacts), the open link, and absence-of-retention. There is enough information for an agent with 4 optional parameters to use this correctly in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with rich enum/description text already covering compute, parent_hashes, parent_tool_ids, and policy_parameters, so the baseline is 3. The description adds marginal value (GPU flag interaction with compute modes, the 'kernel registered' precondition, and the synthetic-data warning), but largely restates what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource ('Tempo Zone Selective-Disclosure Attestation') and frames the tool as a 'Deterministic OpenChainGraph compute node' with explicit provenance (consumes art-38-tempo-onchain-aml, feeds cry-01-zk-compliance-proof-generator). This makes it identifiable and distinct from the large sibling set in terms of content. However, the name/verb 'validate' vs. the description's 'attestation_mandate' / 'Exports an AP2 artifact' blurs whether this produces or validates an attestation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides strong invocation-context guidance: when to expect server-side vs. client-side execution (compute:auto/server/browser, gpu rules) and a warning to 'Use synthetic or anonymised inputs only'. But it never mentions sibling tools (e.g., validate_canton_selective_disclosure, verify_disclosure_inclusion) or says when not to use this tool versus them — an implied usage role in the ChainGraph, not explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_tfr_travel_rule_batchTFR Travel-Rule Batch ValidatorARead-onlyIdempotentInspect
TFR Travel-Rule Batch Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-98-mica-casp-fit-diagnostic. Output feeds: cry-04-merkle-batch-verifier. Open at: https://ainumbers.co/chaingraph/art-104-tfr-travel-rule-batch-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true金石和 idempotentHint=true, and the description aligns with these by stating inputs are 'processed transiently' and 'not stored, logged, or retained', confirming a non-mutating, stateless operation. It adds context about the compute delegation behavior (browser vs server) and the FV-status snapshot verification, which goes beyond the annotations by explaining the execution model and provenance handling. The description does not contradict annotations, and the additional details on security (synthetic inputs only) and offline verification are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains multiple sentences covering many aspects (compute modes, transient processing, provenance, FV-status). While it is detailed, it is not front-loaded with the most critical purpose; the title and first sentence do that, but subsequent details like the FV-status URL and artifact IDs could be moved elsewhere or summarized. The description is long, but each sentence adds unique information, so it is not redundant, though it could be trimmed for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested objects, no output schema), the description is comprehensive. It explains the compute modes, transient processing, provenance chain, and provides external references (open URL and FV-status URL) for further context. It also states constraints (use synthetic inputs only) and specifies upstream/downstream artifacts, making it fully self-contained for an agent to understand the tool's role and usage without needing an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already defines all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) with descriptions. The tool description adds value by explaining that compute affects execution location (server vs browser delegation URL), and that parent_hashes are used for chain provenance. It does not add detailed semantics for policy_parameters beyond pointing to the manifest, but given the schema is complete and covers the essentials, the description provides complementary context rather than redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a batch validator for TFR travel-rule compliance, within an OpenChainGraph compute node framework. It distinguishes itself from sibling tools by specifying its role as a compute node (compliance_mandate) and explicitly noting its upstream and downstream artifacts (art-98-mica-casp-fit-diagnostic and cry-04-merkle-batch-verifier), making its purpose and context unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: it handles batch validation of TFR travel rules, with specific compute modes (auto, server, browser) and notes that gpu:true nodes always delegate to the browser. It implies the tool is used for compliance validation in a ChainGraph pipeline but does not explicitly state when NOT to use it or name alternatives, though the upstream/downstream artifact references provide strong context for its role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_tip20_memo_commitmentTIP-20 Memo/Commitment ValidatorDRead-onlyIdempotentInspect
TIP-20 Memo/Commitment Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-390-tip20-memo-commitment-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions transient input processing and that it exports an AP2 artifact, but it does not explain what happens on success/failure or what the validation result looks like. This goes slightly beyond the annotations but remains incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive, with the same compute-binding text appearing twice. It is not concise and buries any tool-specific information under boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's likely purpose (validating a TIP-20 memo commitment), the description fails to explain the validation criteria, input/output semantics, or how it fits into the broader ChainGraph ecosystem. It is incomplete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have descriptions, but they are generic and repetitive, referencing compute bindings rather than tool-specific meaning. The 'policy_parameters' description explicitly defers to a manifest, offering no concrete field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is dominated by compute-binding boilerplate and never states what the validator actually validates. The name suggests TIP-20 memo commitment validation, but the text only repeats 'Memo/Commitment Validator' without defining the validation logic or expected outcome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs. any alternative, nor any practical usage scenario. The only directive is a caution to use synthetic or anonymised inputs, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_tokenized_security_lifecycleTokenized Security Lifecycle ValidatorBRead-onlyIdempotentInspect
Tokenized Security Lifecycle Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: 510-digital-asset-regulatory-classifier. Open at: https://ainumbers.co/tools/512-tokenized-security-lifecycle-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and idempotentHint, and the description adds genuinely useful behavior: 'Inputs are processed transiently... not stored, logged, or retained,' which is meaningful disclosure beyond the annotations, and 'Deterministic' reinforces idempotency. The chaining behavior (consumes upstream artifacts, exports AP2 with execution_hash) adds side-effect context. A point is lost because no contradiction exists but the FV-status tangent reads as noise rather than behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
This is a wall of text with no structural breaks. The phrase 'OpenChainGraph compute node' appears twice in the first two sentences and 'AP2 artifact' is defined nowhere. The trailing FV-status URL and hash digest are irrelevant to invoking the tool and add noise. Better front-loading would name the validation subject (the specific lifecycle steps) before diving into infra details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 params with 100% schema coverage and rich annotations, the description covers the compute-execution and data-handling angles well and explains chaining. But it leaves a significant gap: it never states what inputs the validator accepts for the lifecycle itself (the actual decision function), the policy_parameters schema is undisclosed, and the response format is unspecified with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with thorough parameter descriptions, providing a strong baseline. The description adds value by explaining the cross-parameter semantics: what 'auto' versus 'browser' means for compute execution on Cloudflare Workers and how parent_hashes chain upstream (consumes from '510-digital-asset-regulatory-classifier'). A small deduction since policy_parameters fields are deferred to 'the tool's manifest,' which an agent cannot see.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb ('validate') and resource ('tokenized security lifecycle') are clear, but the definition opens with a tautology — 'OpenChainGraph compute node' is stated twice in the first two sentences — and never states what the validation actually checks. It also fails to differentiate from numerous similar siblings (validate_tempo_token_compliance, validate_deposit_token_compliance, check_tokenized_collateral_eligibility), which an agent would struggle to distinguish given the lifecycle-rule-agnostic language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description thoroughly explains compute-mode selection (auto vs server vs browser, gpu:true always delegating), which functions as parameter-level usage guidance, and gives the directive to use synthetic inputs only. However, there is zero when-to-use-this-vs-a-sibling guidance despite a huge crowd of overlap candidates. The context is clear but exclusions and alternatives are never addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_vida_einvoice_conformanceViDA EN 16931 E-Invoice Conformance ValidatorARead-onlyIdempotentInspect
ViDA EN 16931 E-Invoice Conformance Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-160-vida-drr-transaction-reporter. Open at: https://ainumbers.co/chaingraph/art-159-vida-einvoice-en16931-conformance-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: determinism, server-side vs browser delegation semantics, transient non-retained input handling, a synthetic/anonymised-input restriction, AP2 artifact export with execution_hash, and FV-status snapshot behavior. No contradiction with the readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and largely operational, but it repeats 'OpenChainGraph compute node' twice and spends sentences on URL and FV-status material. Most content earns its place, though tightening would improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Strong on execution model, privacy, provenance, and downstream consumers, but there is no output schema and no concrete policy_parameters fields, so an agent cannot fully determine what invoice input shape to provide or what the conformance result looks like. The external manifest and URL partially compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description mostly restates compute-mode behavior already in the schema, and it defers policy_parameters field names to an external manifest without adding inline parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Title and first sentence identify the tool as a ViDA EN 16931 e-invoice conformance validator, which is a clear resource+action pairing. It does not state which specific conformity checks are performed, but the name distinguishes it from related siblings such as validate_einvoice_format and validate_einvoice_batch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides execution mechanics, downstream feeds, and a verification URL, but no guidance on when to choose this validator over siblings like validate_einvoice_format, validate_einvoice_batch, or verify_einvoice_vat_calc. With a large sibling list, the absence of selection criteria is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_w8_series_structuralW-8 Series Structural ValidatorBRead-onlyIdempotentInspect
W-8 Series Structural Validator: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-268-compute-cdd-ownership-25pct. Open at: https://ainumbers.co/chaingraph/art-269-validate-w8-series-structural.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description significantly extends the annotations by disclosing determinism, transient input processing with no storage/logging/retention, compute delegation semantics, the exported AP2 artifact with execution_hash, upstream artifact consumption, and that the FV-status is a snapshot rather than a subscription. These are precise behavioral commitments beyond readOnly/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed but slightly redundant: 'OpenChainGraph compute node' appears twice, and the FV-status/link block is verbose. Most sentences carry useful context for an unusual execution model, but the first sentence mostly repeats the title and could be compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain the return/outcome, but it never actually states what a structural validation produces for the caller beyond 'Exports an AP2 artifact with execution_hash.' It also leaves policy_parameters names undefined in the schema and points vaguely to a manifest, leaving an agent without enough information to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline applies; the description does not materially enhance the parameter understanding. It repeats some 'compute' semantics that are already in the parameter description, and it defers policy_parameters fields to a manifest rather than explaining them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'W-8 Series Structural Validator' and an 'OpenChainGraph compute node', so the broad validation purpose is inferable, but it never states with a verb what the tool actually checks or returns. It focuses on execution infrastructure rather than the validation behavior itself, and does not differentiate from the many other validate_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is meaningful usage context: the compute modes (auto/server/browser), the constraint to use synthetic or anonymised inputs only, and the requirement to consume the upstream artifact from art-268-compute-cdd-ownership-25pct. However, there is no explicit 'use when' or 'use not when' guidance, and no alternative tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_x402_deferred_handshakex402 Deferred-Scheme Handshake ValidatorARead-onlyIdempotentInspect
x402 Deferred-Scheme Handshake Validator: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-393-x402-v2-migration-linter, art-129-webbotauth-signature-verifier. Output feeds: art-61-x402-batch-settlement-reconciler. Open at: https://ainumbers.co/chaingraph/art-394-x402-deferred-handshake-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent, but the description goes further by disclosing that inputs are 'processed transiently' and 'not stored, logged, or retained,' that it exports an AP2 artifact with execution_hash, and that the FV-status receipt is a snapshot verifiable offline. These are meaningful behavioral details beyond the annotations, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense, multi-clause paragraph that opens by restating the title and then packs in compute modes, data handling, artifact provenance, URLs, and FV-status. It lacks a crisp one-sentence statement of the tool's purpose, and the length makes it harder to scan, though every sentence does carry operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must explain what the tool returns, but it only hints at 'AP2 artifact with execution_hash' and a browser delegation URL. It never clarifies the validation result (pass/fail? signed receipt? error codes?) or the actual handshake validation semantics. The heavy deployment/provenance detail comes at the expense of the core computational outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of parameters, so baseline is 3. The description enriches the 'compute' parameter with concrete behavior (browser returns delegation URL, gpu:true always delegates) and names specific upstream artifacts (art-393, art-129) that likely map to parent_hashes/parent_tool_ids, adding value beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and name indicate a validator for x402 deferred handshakes, but the description opens with 'OpenChainGraph compute node (compliance_control)' and never directly states what the validator checks or what a valid/invalid outcome looks like. It focuses on execution modes and infrastructure rather than the core validation logic, and it does not differentiate this from the many validate_* siblings beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit context for invoking the tool: compute mode choices (auto/server/browser) with conditionals (gpu:true always delegates), and the strong warning 'Use synthetic or anonymised inputs only.' This tells the agent when and how to invoke it, but it does not mention alternative tools or exclusions, so it lacks the when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vc_issueIssue a signed W3C Verifiable Credential 2.0AInspect
Composes and signs a W3C Verifiable Credential 2.0 with an eddsa-jcs-2022 Data Integrity proof over a fresh ephemeral did:key (generated per call, not reused). Returns the signed credential, an OCG Standard §23 vc-2.0 input-attestation block ready to embed in a ChainGraph chain's policy_parameters at the given pointer, and an OCG receipt of the issuance activity. The signature proves the claims were not altered after signing and that the did:key holder produced it -- it is not, by itself, identity assurance.
| Name | Required | Description | Default |
|---|---|---|---|
| claims | Yes | Claim key-value pairs for credentialSubject (required, at least one entry). | |
| pointer | No | RFC 6901 JSON pointer where the attestation's claims sit in a consuming chain's policy_parameters. Default: "/subject_claims". | |
| subject_id | No | Credential subject id (DID or any identifier string). Default: "did:example:subject". | |
| valid_from | No | ISO 8601 validFrom. Default: now. | |
| valid_until | No | ISO 8601 validUntil. | |
| credential_type | No | Type appended to VerifiableCredential (e.g. "MembershipCredential"). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (which are all false), the description discloses that a fresh ephemeral did:key is generated per call and not reused, and clarifies that the signature is not identity assurance. This provides useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action, then listing return values, then clarifying limitations. No fluff or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, output components, and a key limitation. However, it lacks details on the structure of the returned objects (e.g., signed credential format) and does not provide examples, which could help given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds minimal extra meaning beyond the schema (e.g., mentioning RFC 6901 for pointer but not detailing format). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it composes and signs a W3C Verifiable Credential 2.0 with a specific proof type (eddsa-jcs-2022) and key generation method (fresh ephemeral did:key). It distinguishes from siblings like sdjwt_issue by specifying the credential standard and proof type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for embedding in ChainGraph's policy_parameters but does not explicitly state when to use this tool over alternatives (e.g., sdjwt_issue) or when not to use it. No guidance on prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_a2a_agent_cardA2A Agent Card Validator & Extension CheckerBRead-onlyIdempotentInspect
A2A Agent Card Validator & Extension Checker: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-22-agentic-payments-protocol-comparator. Output feeds: art-18-mcp-developer-readiness-scorecard, art-26-x402-payload-decoder-flow-simulator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/art-25-a2a-agent-card-validator.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds valuable details beyond them: deterministic execution, transient input processing with no storage/logging/retention, the 'synthetic or anonymised inputs only' warning, compute-mode delegation behavior, and AP2 artifact export with execution_hash. It also discloses the FV-status snapshot semantics. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description repeats 'OpenChainGraph compute node' twice and leads with the title verbatim. It includes a long tail of upstream/downstream artifact links, a URL, and an FV-status receipt that are not needed for basic invocation. The privacy warning and compute-binding details are useful, but the overall structure is bloated and not front-loaded with validation semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema and annotations cover parameters and safety, and the description adds compute modes, transient input handling, privacy constraints, and provenance links. However, it never states what input represents the A2A agent card or what the extension checker actually checks, and there is no output schema to clarify the returned artifact. Given the large field of sibling validators, input and selection semantics are notably incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents compute, parent_hashes, parent_tool_ids, and policy_parameters. The description adds behavioral context about compute modes and server-side computation of policy_parameters, but it doesn't explain how to supply the A2A agent card being validated. Baseline of 3 is appropriate since the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify the tool as an A2A Agent Card Validator & Extension Checker and an OpenChainGraph compute node with compliance_control. This provides a specific verb-resource pairing, but it doesn't distinguish the tool from sibling validate_a2a_agent_card or clarify what 'extension checking' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus closely related siblings like validate_a2a_agent_card, validate_a2a_trust_chain, or verify_signature_agent_card. The description provides pipeline placement and compute-mode details, but those are operational facts, not usage-selection guidance. An agent must infer the tool's role from its name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_acdc_delegation_chainACDC Delegation Chain VerifierARead-onlyIdempotentInspect
ACDC Delegation Chain Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-284-did-webvh-log-verifier. Open at: https://ainumbers.co/chaingraph/art-285-acdc-delegation-chain-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description aligns with these and adds valuable context: it is deterministic, inputs are processed transiently and not stored, logged, or retained, and it exports an AP2 artifact with execution_hash for provenance. It also details the FV-status snapshot verification behavior, enriching beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively long and dense, including operational specifics like Cloudflare Workers, a URL, and a long FV-status hash. The opening repeats 'OpenChainGraph compute node' and the structure is not front-loaded with the essential purpose. Much of the detail is extraneous for an agent deciding whether and how to call it, hurting readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, no output schema), the description is reasonably complete. It explains compute modes, input transient handling, output as AP2 artifact with execution_hash, upstream artifact dependency (art-284-did-webvh-log-verifier), and the FV-status verification mechanism. This covers the key decisions an agent needs to make, though it is presented inefficiently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds some clarity for the compute parameter by explaining auto vs browser behavior in detail, and it mentions policy_parameters are for the decision function, but it does not significantly deepen understanding beyond the schema for the other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is an 'ACDC Delegation Chain Verifier' and a deterministic OpenChainGraph compute node, giving a specific verb and resource. However, it is buried among lengthy operational details (compute modes, Cloudflare Workers, URLs) that obscure the core purpose, and it does not differentiate itself from the many sibling verify_* tools such as verify_did_webvh_log or verify_ap2_payment_receipt.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when compute modes apply (auto, server, browser) and warns to use synthetic or anonymised inputs due to transient processing. However, it does not explicitly state when this tool should be preferred over alternatives or provide any exclusion criteria. The usage guidance is more about operational modes than decision points.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_address_migration_batchISO 20022 Structured-Address Migration Batch VerifierBRead-onlyIdempotentInspect
ISO 20022 Structured-Address Migration Batch Verifier: OpenChainGraph compute node (compliance_mandate). Regulatory deadline: 2026-11-01 (SWIFT CBPR+ structured-address mandate — November 2026 (~5 months). Hardest deadline tool in suite by proximity.). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-11-vop-batch-match-rate-analyser, art-08-en16931-einvoice-batch-validator, ptg-01-ap2-prompt-template-generator. Open at: https://ainumbers.co/chaingraph/rca-03-iso20022-address-migration-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description meaningfully extends beyond annotations: 'Inputs are processed transiently... not stored, logged, or retained' adds privacy-relevant behavior, and 'Exports an AP2 artifact with execution_hash' discloses side effects. These details complement the readOnly/idempotent annotations with concrete runtime behavior. The FV-status snapshot clarification ('a snapshot, not a subscription') further disambiguates expected freshness semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a wall of text with no structural breaks, mixing compliance deadlines, architecture, URLs, hashes, and a parenthetical that reads like a footnote. Sentences like 'Hardest deadline tool in suite by proximity' are syntactically confusing. The information density is low; the core verification purpose is overshadowed by irrelevant specifics that could be trimmed or moved to references.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 params, nested objects, and no output schema, the description compensates somewhat by disclosing downstream consumers and artifact export behavior. However, it never explains what the batch verifier actually checks in the input or what a returned result looks like, leaving a notable gap in an agent's ability to interpret the verification outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 useful prose for the compute parameter, explaining server-side vs. browser delegation semantics. However, it parallels what the schema already encodes in the enum description, providing marginal additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific verb+resource: verifying ISO 20022 structured-address migration batches. However, the purpose is buried in dense operational noise—regulatory deadlines, hash links, and 'Deterministic OpenChainGraph compute node' repetition—requiring the agent to parse through clutter. While the core purpose survives contact with the prose, the signal-to-noise ratio undermines clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives partial guidance on compute-mode selection ('auto' vs 'browser') and the security constraint 'Use synthetic or anonymised inputs only.' However, it does not explicitly state when to choose this tool over alternatives or which sibling tools to route to for related needs. The guidance is operational (how) rather than decision-oriented (when), leaving the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_anchored_extractAnchored Extract VerifierARead-onlyIdempotentInspect
Anchored Extract Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-286-anchored-extract-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several important behaviors: inputs are processed transiently and not stored, compute modes affect execution location, and it exports an AP2 artifact with execution_hash. It also provides a URL and FV-status link for verification. Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds context about transient processing and the browser delegation behavior, which goes beyond the annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and includes a lot of technical detail (compute modes, URLs, FV-status links) that may be relevant but is not front-loaded with the most critical information. The first sentence establishes the tool's identity, but the description could be more concise by separating the core purpose from the implementation details. It's not overly long, but the structure could be improved for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, nested objects, compute modes, chain provenance), the description covers the compute binding behavior and transient processing but lacks details on what the 'anchored extract' verification actually does, what the decision function evaluates, or what the output artifact contains beyond execution_hash. The output schema is absent, so the description should explain more about the return value. The FV-status link and URL provide external context but don't substitute for a clear explanation of the tool's core function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 some context about policy_parameters being computed server-side and references the manifest for field names, but it doesn't add significant meaning beyond the schema. The parent_hashes and parent_tool_ids are described in the schema, and the description doesn't elaborate on their usage beyond what's in the schema. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'Anchored Extract Verifier' and an 'OpenChainGraph compute node (compliance_mandate)', which conveys a specific purpose of verifying anchored extracts within a chain graph context. However, it does not clearly distinguish this from the many sibling tools with similar names like 'verify_execution_hash', 'verify_ap2_payment_receipt', or 'anchor_document_integrity'. The purpose is clear enough but lacks explicit differentiation from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains compute modes and when browser delegation occurs, which provides some usage context. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or conditions that would make this tool the right choice over similar verification tools. The guidance is implied through the compute mode explanation but not explicit about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_ap2_payment_receiptAP2 PaymentReceipt Verifier & HNP GuardrailCRead-onlyIdempotentInspect
AP2 PaymentReceipt Verifier & HNP Guardrail: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-60-agent-economy-runtime-fit-diagnostic. Output feeds: art-01-ap2-mandate-chain-validator, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/art-62-ap2-payment-receipt-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses determinism, transient input processing (not stored), compute mode behavior (auto/server/browser delegation), and instructs to use synthetic inputs. This is valuable behavioral context that goes beyond the structured annotations. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and poorly structured. It includes many tangential details such as the full open graph URL, FV-status snapshot hash linkages, and chain provenance speculations that do not aid in understanding the tool's core function. The front-loaded information about compute node machinery delays the essential message about what the tool does. Many sentences do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a verification tool, the description omits critical operational context: it never explains what 'AP2 payment receipt' verification actually does, what inputs constitute a receipt, or what outputs are expected (no output schema is provided). It defers policy_parameters field names to an external manifest, leaving the agent without sufficient information to correctly invoke the tool. The description is incomplete for practical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all four parameters (compute, parent_hashes, parent_tool_ids, policy_parameters), achieving 100% schema description coverage. The main description does not add extra semantics beyond what the schema already states; it only reinforces compute mode behavior. With full schema coverage, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The title clearly indicates the tool verifies AP2 payment receipts and acts as a guardrail, and the description identifies it as a compute node with an attestation mandate. However, the description emphasizes platform mechanics (OpenChainGraph, deterministic compute) and provenance rather than explicitly stating what 'verification' entails or what a valid receipt looks like. The purpose is inferable but not directly articulated in the body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it name any sibling tools or exclusion conditions. It mentions computer modes and upstream/downstream artifacts but gives no decision criteria for selection. The agent is left to infer usage context from the tool name and technical details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_content_credential_signatureContent Credential Signature VerifierARead-onlyIdempotentInspect
Content Credential Signature Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-123-c2pa-manifest-validator. Output feeds: art-125-provenance-ingredient-tree-resolver. Open at: https://ainumbers.co/chaingraph/art-124-content-credential-signature-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses critical behavioral details: inputs are processed transiently and not stored/logged/retained, it mandates use of synthetic/anonymised inputs, it exports an artifact with execution_hash, and it provides an FV-status receipt that works offline. These are not captured in annotations and are essential for safe and correct invocation. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, but it is quite long and mixes core functionality with operational details (Fv-status receipt, URLs, compliance mandate). Some clauses are not front-loaded, and the description could be more concise to quickly convey the essential purpose. The structure is not poorly organized but is heavier than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool with compute modes, chain integration, and security constraints, the description covers most critical aspects: it explains compute modes, transient processing, output artifact, upstream/downstream chain, and provides a URL and FV-status receipt. It does not mention error handling or specific return format, but the output schema is absent and the key behaviors are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions (100% coverage), so the baseline is 3. The description does add some context, such as how policy_parameters are computed server-side versus browser delegation, but it doesn't significantly go beyond the schema for individual parameters. It mentions the compute modes but the schema already lists them with descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a Content Credential Signature Verifier tied to OpenChainGraph, with a specific role as a compute node and chain provenance. It distinguishes itself from generic verification tools by describing its deterministic behavior and its placement in the artifact stream (consumes from art-123, outputs to art-125). However, it does not explicitly name a sibling for contrast, so it doesn't achieve perfect differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use it: it's part of a chain verification workflow, with specific upstream and downstream artifacts, and it mentions compute mode choices (auto/server/browser) with default behavior. It doesn't explicitly state when not to use it or name alternative tools, but the chain context gives strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_conversion_receiptConversion Receipt VerifierCRead-onlyIdempotentInspect
Conversion Receipt Verifier: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-191-conversion-receipt-builder. Open at: https://ainumbers.co/chaingraph/art-192-conversion-receipt-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral detail beyond that: inputs are transient and not stored/logged/retained, compute mode determines server vs browser delegation, and the tool exports an AP2 artifact with execution_hash. It also explains offline verification and snapshot semantics, which goes well beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and redundant, repeating 'OpenChainGraph compute node' and 'Deterministic' in the opening sentences. The FV-status paragraph is dense and could be condensed. It is not front-loaded with a crisp, plain-language purpose statement, and several sentences could be trimmed without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what the agent receives from a verification call, but it only says 'Exports an AP2 artifact with execution_hash.' There is no mention of a verification verdict, success/failure semantics, or how the tool reports whether the receipt is valid. Given the complexity and lack of output schema, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for all four parameters, so the baseline is 3. The description adds extra meaning by explaining the compute enum's default behavior in detailed terms, clarifying policy_parameters as inputs to the decision function, and noting transient processing. This goes beyond what the schema alone communicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as 'OpenChainGraph compute node (cryptographic_mandate)' rather than plainly stating it verifies conversion receipts. It mentions consuming upstream artifacts from art-191-conversion-receipt-builder, which implies the domain, but the specific verb 'verify' is never used in the description proper. The purpose is inferable from name/title, but the description itself leans on technical jargon and implementation details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling verify_* tools. It gives operational constraints such as 'Use synthetic or anonymised inputs only' and compute-mode behavior, but never states the selection condition (e.g., 'use this when you need to verify a conversion receipt'). No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_did_webvh_logdid:webvh DID Log VerifierARead-onlyIdempotentInspect
did:webvh DID Log Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-04-agent-identity-attestation-checker. Output feeds: art-285-acdc-delegation-chain-verifier. Open at: https://ainumbers.co/chaingraph/art-284-did-webvh-log-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by detailing compute mode behavior (server vs. browser delegation), deterministic execution, and transient processing with no storage or logging. This provides meaningful transparency about side effects and execution guarantees, though it does not describe output handling or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with phrases like 'OpenChainGraph compute node' and 'deterministic' appearing twice, and the text is presented as a single run-on block without structured bullets. This makes it harder to parse quickly, though it is not overly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides context about input (parent hashes), output (AP2 artifact with execution_hash), and upstream/downstream artifacts, alongside compute modes and processing guarantees. While it does not detail the full verification algorithm or exact output format, it covers the essential operational flow for an API tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with detailed descriptions, including the compute enum, parent hashes/tool IDs, and policy parameters. The tool description additionally explains compute mode semantics, while policy parameters are deferred to the manifest, adding sufficient context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a 'did:webvh DID Log Verifier' and a 'Deterministic OpenChainGraph compute node', which conveys its primary function of verifying DID logs. However, it does not elaborate on what verification entails beyond the name and generic compute context, which slightly limits clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for verifying did:webvh logs within a ChainGraph compute framework, but it does not explicitly state when to use this tool over the many sibling verify_* tools. No contrast or selection criteria are provided, so guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_disclosure_inclusionVerify Merkle inclusion in a disclosure manifestARead-onlyIdempotentInspect
Proves (or refutes) that a {path,digest} pair was in a disclosure manifest's room (DATAROOM-1-BUILD-SPEC.md §DR-4) -- worker-side mirror of tools/547-disclosure-manifest-verifier.html's single-file inclusion check. Recomputes the manifest's Merkle root over its entries[], builds the inclusion proof path for the target entry, and reapplies it to confirm it reduces to the claimed merkle_root. Absence is only provable against the exact manifest version passed in.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path of the entry to prove. | |
| digest | Yes | sha256:-prefixed digest of the file to prove. | |
| manifest | Yes | The disclosure manifest to check against (needs entries[] + merkle_root). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the internal process: recomputing the Merkle root, building the inclusion proof path, and reapplying it. This adds behavioral context beyond the annotations (readOnlyHint, idempotentHint, destructiveHint). However, it does not mention potential side effects or resource usage, though annotations already indicate safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a distinct purpose: stating the core function, explaining the computational process, and providing a caveat. It is efficient with no fluff, though it could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not specify the tool's return value or output format. For a verification tool, the agent needs to know whether the result is a boolean, a proof object, or something else. This missing information reduces completeness, especially given no output schema is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter is already described inline. The description adds minimal extra meaning (e.g., 'sha256:-prefixed digest' matches schema, 'needs entries[] + merkle_root' is repeated). The process description provides indirect context but does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Proves (or refutes) that a {path,digest} pair was in a disclosure manifest's room.' It references a specific specification section (DATAROOM-1-BUILD-SPEC.md §DR-4) and distinguishes itself as a worker-side mirror of a specific HTML tool, leaving no ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for single-file inclusion checks against a disclosure manifest, but it does not explicitly state when to use this tool over alternatives like verify_merkle_batch. The caveat about absence being provable only against the exact manifest version is helpful but does not constitute clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_dscsa_transaction_statementDSCSA Transaction Statement (T3) VerifierARead-onlyIdempotentInspect
DSCSA Transaction Statement (T3) Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-113-saleable-returns-verifier. Open at: https://ainumbers.co/chaingraph/art-112-dscsa-transaction-statement-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent/destructive annotations by disclosing deterministic execution, server-side vs browser delegation behavior, transient input processing with no storage/logging/retention, AP2 artifact export with execution_hash, and FV-status snapshot semantics. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and contains important caveats about data retention, compute delegation, and provenance. However, the opening repeats 'OpenChainGraph compute node' twice, and the FV-status explanation plus a human-facing URL add length without being essential to tool selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with rich annotations and full parameter-name coverage, there is no output schema, and the description never explains what a verification outcome looks like or what fields policy_parameters should contain. For a domain-specific tool with a free-form nested input and no documented return shape, this leaves a material gap in how an agent should invoke it and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds no per-parameter detail beyond reiterating the compute:'auto' behavior already present in the schema, and policy_parameters remains deferred to an external manifest. This meets the baseline but does not raise it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening clause identify a specific resource (DSCSA Transaction Statement T3) and a verifier role, and 'Output feeds: art-113-saleable-returns-verifier' positions it in a concrete pipeline. However, the description repeats the tool name and never states the actual verification criteria or result semantics, so it is clear but not fully self-explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the domain-specific name, the compliance_mandate tag, and the downstream output feed. The description also gives operational guidance such as 'Use synthetic or anonymised inputs only' and compute-mode options. But it does not name alternative tools or state when this tool should not be used, so guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_dual_layer_disclosureDual-Layer Disclosure VerifierCRead-onlyIdempotentInspect
Dual-Layer Disclosure Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-126-ai-act-art50-marking-checker. Output feeds: art-128-content-binding-assertion-validator. Open at: https://ainumbers.co/chaingraph/art-127-dual-layer-disclosure-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it states inputs are processed transiently and not stored, logged, or retained, that compute modes affect execution location, that gpu:true nodes always delegate to the browser, and that the tool exports an AP2 artifact with execution_hash. These details complement the readOnlyHint and idempotentHint without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extensive tangential details: a full URL, a JSON hash path with FV-status explanation, and chain provenance artifacts. While the compute-mode explanation is front-loaded, the rest of the text lacks focus and would benefit from trimming to the essential calling information. It is more of a deployment document than a concise tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description must clarify what the result looks like and what the tool does functionally. It mentions exporting an AP2 artifact with execution_hash but does not explain the verification output or the meaning of the result. The chain references (art-126, art-128) hint at a compliance context but are not self-explanatory. An agent lacks a clear picture of the tool's behavior and returns, making the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all parameters (coverage 100%), but the description enriches the meaning of the 'compute' parameter by explaining the default behavior, the forced server/browser modes, and the gpu:true delegation rule. It also clarifies that policy_parameters are computed server-side when applicable, which goes beyond the schema's generic description. However, it adds little for parent_hashes and parent_tool_ids beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Verifier' and 'compute node' and mentions 'Dual-Layer Disclosure' but never defines what dual-layer disclosure is or what the verification actually does. It speaks to deployment (OpenChainGraph, compute modes) rather than the functional behavior, so an agent cannot infer what this tool does or how it differs from the many other verify_* siblings beyond the chain artifacts mentioned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use guidance or exclusion criteria. It mentions that it consumes artifact art-126 and feeds art-128, which implies a chain context but does not tell an agent when to choose this tool versus alternatives. The note 'Use synthetic or anonymised inputs only' is a constraint but not a usage trigger. There is no mention of alternatives or conditions that would make this tool appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_einvoice_vat_calcE-Invoice VAT Calculation VerifierBRead-onlyIdempotentInspect
E-Invoice VAT Calculation Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-293-einvoice-format-validator. Output feeds: art-295-einvoice-jurisdiction-mandate-router. Open at: https://ainumbers.co/chaingraph/art-294-einvoice-vat-calc-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only, idempotent, and non-destructive, and the description meaningfully extends that baseline: deterministic execution, server-side Cloudflare Workers vs browser delegation, transient processing with no storage/logging/retention, an AP2 artifact with execution_hash, and an offline-verifiable FV-status snapshot. The artifact export is framed as output/provenance rather than a state mutation, so it does not contradict readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense with genuinely useful operational constraints, but it opens with a redundant restatement of the title and repeats 'OpenChainGraph compute node' twice in the first two sentences. The URL and FV-status receipt are useful, but the overall text is longer than necessary and could be front-loaded with an explicit action statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute location, privacy, chain provenance, and workflow position exceptionally well, and no parameters are required. However, it never explains what the actual verification response contains in the normal server case, and policy_parameters remains an opaque object with no field list, so a caller still needs an external manifest to invoke the tool meaningfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and the schema already documents compute modes, parent_hashes, parent_tool_ids, and policy_parameters. The description adds only implementation color (Cloudflare Workers, decision-function language) and still leaves policy_parameters field names deferred to a manifest, so it neither fills a gap nor adds substantial meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line restates the tool title ('E-Invoice VAT Calculation Verifier') and then labels it an 'OpenChainGraph compute node' without ever stating a verb such as 'verifies that VAT amounts are calculated correctly' or 'computes and validates VAT on an e-invoice.' Determinism and compliance_mandate are properties, not a function, so an agent must infer the action solely from the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful workflow context by naming upstream and downstream artifacts (art-293 validator, art-295 router) and a hard input constraint ('Use synthetic or anonymised inputs only'). It does not, however, say when to choose this tool over closely related siblings such as validate_einvoice_format, validate_einvoice_batch, or validate_vida_einvoice_conformance, nor does it state 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.
verify_erc165_interface_idERC-165 Interface ID VerifierCRead-onlyIdempotentInspect
ERC-165 Interface ID Verifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-606-erc165-interface-id-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavior beyond the annotations: deterministic execution, server-side vs browser delegation, transient input handling with no storage/logging/retention, and export of an AP2 artifact with execution_hash. These details are consistent with readOnlyHint, idempotentHint, and destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and mixes tool-selection content with infrastructure boilerplate, URLs, and FV-status receipt details. It is not front-loaded around a clear purpose, and several sentences are not needed for correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the verifier returns and how inputs map to the ERC-165 verification, but it only says an AP2 artifact with execution_hash is exported. The actual verification semantics and policy_parameters structure are left to an external manifest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters. The description adds compute-mode context but does not explain the actual ERC-165 inputs or the policy_parameters field names beyond pointing to the manifest, so it stays at the schema-covered baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by restating the title ('ERC-165 Interface ID Verifier') and labeling it a 'Deterministic OpenChainGraph compute node', but never states what verifying an ERC-165 interface ID actually involves. It does not distinguish this from the many other verify_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided, and no alternative tools are named. The only operational guidance is generic compute-mode selection and a warning to use synthetic or anonymised inputs, which does not help an agent decide between this tool and its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_erc2612_permit_bindingERC-2612 Permit Binding VerifierCRead-onlyIdempotentInspect
ERC-2612 Permit Binding Verifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-612-erc2612-permit-binding-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds meaningful behavioral context: determinism, transient processing with no storage/logging/retention, the synthetic-input restriction, and export of an AP2 artifact with execution_hash. These go beyond the annotations and are valuable for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and somewhat sprawling, mixing core compute semantics with peripheral details like a URL and FV-status snapshot. It is front-loaded with the tool identity, but several sentences about artifact links and status receipts are not essential for invoking the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the description never explains what the verifier returns or what a successful verification looks like. It covers execution mechanics and privacy but omits the domain semantics of ERC-2612 permit binding and the meaning of the result, leaving an agent unable to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description reinforces compute-mode behavior already in the schema and mentions execution_hash provenance, but it does not add meaning for policy_parameters or parent_hashes beyond what the schema provides. No significant gap exists because the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'ERC-2612 Permit Binding Verifier' and an OpenChainGraph compute node, giving a specific verb and resource. However, it never states what permit binding verification actually checks, what inputs are required, or what a positive/negative result means, so it remains vague about its core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance about compute modes and warns to use synthetic or anonymised inputs only, but it gives no guidance on when to use this tool versus the many verify_* siblings or what conditions make it the right choice. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_erc8004_registry_entryERC-8004 Registry Entry VerifierBRead-onlyIdempotentInspect
ERC-8004 Registry Entry Verifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-604-erc8004-registry-entry-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are processed transiently and not stored, logged, or retained, and that the operation is deterministic. It also states that it exports an AP2 artifact with execution_hash for chain provenance. These details complement the readOnlyHint and idempotentHint annotations, providing a clear picture of side effects and data handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat verbose and contains redundancies (e.g., 'Deterministic' appears twice, and compute mode details are repeated). While it includes essential URLs and hashes, the structure could be tightened to improve readability without losing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides context about the compute node, deployment (Cloudflare Workers), and output (AP2 artifact with execution_hash). It does not explain return values in detail, but since no output schema is provided, this is acceptable. The inclusion of FV-status and offline verification notes adds completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for all parameters, including compute modes and parent_hashes. The tool description adds context about compute binding for policy_parameters and the role of parent_hashes, but these are minor enhancements beyond the schema. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a verifier for ERC-8004 registry entries and mentions its deterministic and compliance_control nature. It is differentiated from other verify_* tools by the specific ERC-8004 resource. However, the exact verification semantics could be more explicit (e.g., what constitutes a valid entry).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not specify when this tool should be used over alternatives. It focuses on compute mode details and input handling, but lacks guidance on selection criteria, prerequisites, or typical use cases. The only caution is to use synthetic or anonymised inputs, which is not a usage trigger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_etf_pcf_basketETF PCF Create/Redeem Basket VerificationCRead-onlyIdempotentInspect
ETF PCF Create/Redeem Basket Verification: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-578-etf-pcf-basket-verification.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds substantive context: it is deterministic, inputs are processed transiently and not stored/logged/retained, and it exports an AP2 artifact with execution_hash for provenance. These details go beyond annotations and help an agent understand side effects and safety. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and densely packed with technical jargon, URLs, and compute-mode details that could be condensed. It front-loads the name but then dives into a template-like explanation of OpenChainGraph mechanics, obscuring the core purpose. Multiple sentences are redundant (e.g., repeating 'compute' behavior).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description omits essential information about what the tool actually verifies in an ETF PCF basket and what constitutes a valid input for the policy_parameters. It references a manifest for field names without providing them, and it does not describe the output structure or how to interpret the verification result. For a tool with no output schema and four parameters, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all four parameters, so the baseline is 3. The description adds marginal value by explaining the default compute behavior and that gpu:true nodes always delegate, which clarifies the compute enum. However, it provides no additional semantics for parent_hashes, parent_tool_ids, or policy_parameters, deferring to 'the tool's manifest' for the latter, which is unhelpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the tool name repeated as a heading but never explains what the verification of an ETF PCF create/redeem basket actually involves. It focuses on computational mechanics (OpenChainGraph compute node, compute modes) rather than the semantic purpose, leaving the agent to infer what is being verified and how. It does not distinguish this tool from adjacent verification siblings like verify_reserve_proof or verify_etr_possession_chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any conditions that would steer an agent away. The only directive is 'Use synthetic or anonymised inputs only,' which is an input-safety constraint, not a tool-selection guideline. Mention of compute modes and browser delegation explains configuration but not selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_eth_state_proofState-Proof VerifierDRead-onlyIdempotentInspect
State-Proof Verifier: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-279-state-proof-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that inputs are processed transiently and not stored, logged, or retained, aligning with the readOnlyHint. However, it does not clearly describe the actual behavior of verifying a state proof, the expected output (beyond an AP2 artifact), or any side effects. The behavior remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive, reusing phrases like 'OpenChainGraph compute node' and 'compute' multiple times. It includes long, seemingly irrelevant URLs and a status endpoint that clutter the text. A concise statement of purpose is buried under boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with full schema coverage, the description fails to explain what the tool actually does—verifying an Ethereum state proof. The boilerplate about compute nodes and AP2 artifacts does not convey the tool's core function. It is incomplete for an agent deciding to use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions for the four parameters are detailed (e.g., compute modes, parent_hashes chaining). Since schema coverage is 100%, the baseline is 3. The description adds no further parameter clarification, but also does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description labels the tool as 'State-Proof Verifier' but then immediately pivots to generic 'OpenChainGraph compute node' boilerplate. It never explicitly states that this tool verifies Ethereum state proofs (despite the name). The purpose is ambiguous and not clearly articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of conditions, use cases, or when a sibling tool might be more appropriate. The description lacks any practical usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_execution_hashVerify a ChainGraph execution hashARead-onlyIdempotentInspect
Independently verify a ChainGraph artifact (ChainGraph Standard v0.1 §6). Recomputes SHA-256 over the canonical (sorted-key, whitespace-stripped) JSON of policy_parameters + output_payload and compares it to the claimed execution_hash. A match proves the artifact's stated inputs deterministically produce its stated outputs. Pass either a full artifact object, or policy_parameters + output_payload + claimed_hash. Pure client-safe compute -- no data is stored. Use this to verify artifacts from any vendor that conforms to the ChainGraph Standard.
| Name | Required | Description | Default |
|---|---|---|---|
| artifact | No | A full ChainGraph artifact envelope (must contain policy_parameters, output_payload, and execution_hash). | |
| claimed_hash | No | The execution_hash to check against (if not passing a full artifact). | |
| output_payload | No | Artifact output_payload (if not passing a full artifact). | |
| policy_parameters | No | Artifact policy_parameters (if not passing a full artifact). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds 'Pure client-safe compute -- no data is stored' and explains the deterministic algorithm, providing context beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at 4 sentences, well-structured, and front-loaded with the primary purpose. Every sentence adds essential information (standard reference, algorithm, calling patterns, purity claim). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's behavior, calling patterns, and safety, but it does not explicitly describe the output (e.g., boolean match result). Given no output schema, this is a minor gap; however, the intent is clear for a verification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds value by explaining the two calling modes ('full artifact object' vs. individual fields). It clarifies the grouping of policy_parameters, output_payload, and claimed_hash as an alternative to artifact, which is not explicit in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Independently verify a ChainGraph artifact' by recomputing SHA-256 over canonical JSON and comparing to claimed hash. It explicitly references the ChainGraph Standard v0.1 §6, distinguishing it from sibling verification tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage guidance: 'Pass either a full artifact object, or policy_parameters + output_payload + claimed_hash.' It also notes the tool is applicable to artifacts from any conforming vendor. However, it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_finp2p_ledger_proofFinP2P Ledger Proof VerifierCRead-onlyIdempotentInspect
FinP2P Ledger Proof Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-587-finp2p-ledger-proof-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description richly discloses behavior beyond the annotations: deterministic execution, compute mode delegation (server-side on Cloudflare Workers, browser delegation URL, gpu:true always delegating), transient input processing with no retention, AP2 artifact export with execution_hash, and FV-status snapshot semantics. This goes far beyond the readOnlyHint/idempotentHint/destructiveHint annotations and provides substantial operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph containing useful behavioral details, but the actual purpose is not front-loaded. The inclusion of a URL and a JSON FV-status path adds extra noise that is not needed for invoking the tool, though the paragraph is not excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, policy_parameters is deferred to an external manifest ('See the tool's manifest for field names'), and the description never explains what a FinP2P ledger proof is, what inputs it expects, or what a verification result means. Despite rich compute-mode detail, an agent cannot confidently know what data to supply or what outcome to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description reinforces the compute-mode behavior and mentions that inputs are computed server-side, but it does not add new meaning for parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name ('FinP2P Ledger Proof Verifier') and labels it 'OpenChainGraph compute node', but never states the actual action: what ledger proof is verified, from what inputs, or what a successful verification looks like. The compute-mode details dominate, leaving the core purpose to be inferred from the title alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus sibling verifiers such as verify_reserve_proof or verify_proof_of_reserves_consistency. The only usage-related instruction is 'Use synthetic or anonymised inputs only,' which is a data-handling constraint rather than a tool-selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_input_attestationsInput Attestation VerifierARead-onlyIdempotentInspect
Input Attestation Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-598-input-attestation-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| attestations | No | |
| attestation_count | No | |
| zero_attestation_caveat_shown | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as read-only, idempotent, and non-destructive. The description adds valuable context: transient input processing (not stored/logged/retained), a privacy warning ('Use synthetic or anonymised inputs only'), the exported AP2 artifact and exec hash for chain provenance, and a deterministic compute guarantee. This is consistent with annotations and adds practical guidance beyond defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense with crucial details (compute modes, execution environment, URL, FV-status) but also contains verbose elements like the full FV-status receipt explanation and mode enumeration that partially repeat schema enum definitions. It is reasonably front-loaded (role and deterministic behavior first) but could be tightened by removing the schema-duplicated compute mode detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description covers the essential behavior (reading inputs, transient processing, provenance output, compliance mandate) and provides the operational URL and verification receipt. No critical usability gap remains 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all four parameters in detail (compute enum with modes, parent_hashes, parent_tool_ids, policy_parameters with notes on server-side computation). The description reinforces the compute behavior and notes the policy_parameters are 'computed server-side when compute is auto or server', which complements rather than duplicates the schema. However, it doesn't explain exact field names required in policy_parameters (defers to 'tool's manifest'), so slight gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific role ('OpenChainGraph compute node (compliance_mandate)') and names the tool precisely ('verify_input_attestations'), then details computation modes (auto/server/browser), output (AP2 artifact with execution_hash), and a distinctive URL and FV-status verifier. It clearly distinguishes itself from sibling validators by emphasizing the deterministic OpenChainGraph compute-node behavior and the client-side delegation option.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when server-side vs browser-side execution applies (gpu:false with registered kernel vs gpu:true delegation), and points to an external URL for the computation environment. It does not explicitly contrast against sibling utilities like 'verify_execution_hash' or 'validate_input_attestations', but the compute mode information is sufficient for most selection decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_ipe_integrityIPE Integrity VerifierCRead-onlyIdempotentInspect
IPE Integrity Verifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-460-ipe-integrity-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate read-only and idempotent behavior, and the description adds that inputs are processed transiently and not stored, and advises using synthetic data. However, it does not clearly describe the verification behavior itself, leaving some ambiguity about what the tool actually does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and including long URLs and status paths that are tangential. It could be trimmed significantly without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains execution modes, input handling, and the export of a hash artifact, but it does not clarify the overall purpose or expected outcomes beyond that. Without an output schema, it leaves the reader guessing about the actual verification result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions, and the description adds some details about compute modes and chaining via parent hashes. But for policy_parameters, it only points to the manifest without explaining the fields, so the addition is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the tool's name and mentions 'OpenChainGraph compute node' but never explicitly states that it verifies IPE integrity. It focuses on compute modes and execution details rather than the core purpose, leaving the actual function ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool compared to alternatives. It does not mention any conditions, exclusions, or scenarios where this tool is preferred, offering only execution mechanics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_kya_x402_scopeKYA Credential x x402 Payload Scope VerifierARead-onlyIdempotentInspect
KYA Credential x x402 Payload Scope Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-565-kya-x402-scope-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations readOnlyHint=true, idempotentHint=true, destructiveHint=false, the description strongly complements them: it explicitly states 'Inputs are processed transiently to compute the response and are not stored, logged, or retained' — directly supporting the readOnlyHint. It also explains the compute modes and gpu:true delegation behavior, which is behavioral detail beyond annotations. The FV-status receipt behavior ('a snapshot, not a subscription; verifies offline regardless of whether that file is ever fetched') is additional transparency. No contradiction with annotations; the description reinforces them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense single paragraph with multiple topics: purpose, compute modes, data retention, input guidance, artifact export, URL, and FV-status. It fronts the purpose and compute mode, but the FV-status talk and URL placement at the end are somewhat tangential for an AI agent needing to call the tool. It's not overly long but could be better structured — the most actionable parts (compute behavior, transient input warning) are there, but the FV-status receipt detail feels like compliance boilerplate. It earns its sentences mostly, but the flow is a bit scattershot.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param, no-required-params, no-output-schema tool, the description covers compute modes, data handling, and artifact export. But it doesn't specify what the response/return value looks like beyond 'returns a browser delegation URL' for browser compute and 'exports an AP2 artifact' — an agent still doesn't know what the verification result is (e.g., does it return a boolean? a signed scope payload? a report?). The policy_parameters reference to 'the tool's manifest' is vague. The nested object for policy_parameters is underexplained. It's adequate but has gaps about the actual output semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the 4 parameters has a description. The main description adds value on the 'compute' parameter (explains auto vs. server vs. browser semantics and gpu:true delegation, matching the enum descriptions) and on 'policy_parameters' (explains that for gpu:false nodes with registered kernels these are computed server-side, and refers to the manifest for field names). However, it doesn't add much beyond the schema — for parent_hashes and parent_tool_ids, it just restates that they chain from upstream artifacts. Baseline 3 is appropriate since schema does the heavy lifting and the description adds only modest context around compute/policy_parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and first sentence clearly identify the tool as a deterministic compute node for the KYA Credential x x402 payload scope verification, with an OpenChainGraph compliance mandate. The name 'verify_kya_x402_scope' suggests verification, and the description confirms it's a compute node that processes inputs to compute a response and exports an AP2 artifact. However, the description doesn't clearly state WHAT output the tool produces beyond 'exports an AP2 artifact with execution_hash' — it doesn't explicitly say 'verifies whether a payload's scope is valid' or similar. It's clear enough to distinguish from siblings, but the actual verification outcome is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some usage context: compute modes (auto/server/browser) and gpu:true delegation, plus a warning to use synthetic/anonymised inputs only. But it doesn't explicitly tell an agent WHEN to use this tool vs. alternatives. It doesn't mention conditions under which verification is needed, how it contrasts with similar tools like verify_ap2_mandate_chain or validate_ap2_mandate_credential, or any prerequisites. The warning about synthetic inputs is a form of usage guidance, but it's not clear when this verifier should be called.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_license_electionLicense Election VerifierARead-onlyIdempotentInspect
License Election Verifier: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-199-license-election-certifier. Open at: https://ainumbers.co/chaingraph/art-200-license-election-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, and the description richly complements them: it discloses deterministic execution, server-side vs browser delegation behavior, gpu-dependent routing, transient input processing with no storage/logging/retention, and the exported AP2 artifact with execution_hash for provenance. It also provides the FV-status receipt context. These insights go well beyond what annotations alone convey and do not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but mostly purposeful: compute modes, privacy constraints, provenance, and the FV-status note all carry operational meaning. The URL and FV-status receipt information are somewhat tangential to invoking the tool correctly and add length, but the structure front-loads identity and deterministic behavior and then flows through behavior, privacy, and chain context without significant fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with optional parameters, rich annotations, and no output schema, the description covers compute routing, transient processing, upstream artifact consumption, and output shape (AP2 artifact with execution_hash). The main gap is that it never states what a successful or failed verification looks like or how the agent should interpret the AP2 artifact as a verdict, which is relevant for a tool named verify_license_election.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds modest context around the compute parameter by explaining when server-side vs browser delegation occurs and links parent_hashes to the specific upstream artifact art-199-license-election-certifier, but it does not add unique per-parameter semantics beyond the schema. The policy_parameters fields are still deferred to an external manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'License Election Verifier' and the fact that it consumes artifacts from 'art-199-license-election-certifier' make the core purpose inferable: it verifies license elections. However, the description itself never states a direct verb+resource ('verifies license elections') and instead focuses on being an 'OpenChainGraph compute node' with compute-mode mechanics, so it is clear but lacks explicit differentiation from siblings like certify_license_election.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It explains compute modes ('auto', 'server', 'browser') and constraints like 'Use synthetic or anonymised inputs only', but never states a decision condition such as 'use this when you need to verify an election result from the certifier rather than certify one.' No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_merkle_airdrop_proofMerkle Airdrop-Proof VerifierARead-onlyIdempotentInspect
Merkle Airdrop-Proof Verifier: OpenChainGraph compute node (payment_policy). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-605-merkle-airdrop-proof-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| leaf | No | |
| note | No | |
| path | No | |
| reasons | No | |
| path_intact | No | |
| computed_root | No | |
| pair_sort_used | No | |
| first_divergent_step | No | |
| root_matches_claimed | No | |
| encoding_variant_used | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing that inputs are processed transiently and not stored, logged, or retained. The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile, so the bar for transparency is partially met by annotations. The description adds the compute-mode behavior, server-side vs browser delegation, and the AP2 artifact export details. There's a slight stretched claim about 'deterministic' being stated, but the description does not contradict the annotations. The only gap is that it doesn't describe the output in detail (the output schema covers that).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but structured with a clear lead sentence, then sections on compute modes, transient processing, artifact export, and links. Every sentence adds information, but it's a bit long with some verbose language (e.g., 'Deterministic OpenChainGraph compute node' repeated). The important usage constraints (transient processing) are front-loaded, and the compute-mode semantics are central to making the tool call correctly. It's not overly verbose for the complexity it covers, hence a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, enum, multiple compute modes, output schema present), the description covers the compute selection, transient data handling, and provenance artifact. The output schema handles return values, so description doesn't need to explain them. The main missing piece is more guidance on when to choose verify_merkle_airdrop_proof over sibling verification tools, but within its own scope it's nearly complete. This is above the minimum viable (3) but not perfect — hence a 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema provides detailed descriptions for each parameter (compute enum with explanation, parent_hashes, parent_tool_ids, policy_parameters). The description adds clarity by explaining the compute:'auto' vs 'browser' behavior and the server-side computation of policy_parameters, which maps to the parameter meanings. However, the description doesn't elaborate much on parent_hashes/parent_tool_ids beyond what's in the schema. Since coverage is high and the description reinforces the most confusing parameter (compute), it earns a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('verify' a 'Merkle Airdrop-Proof') and opens with a clear title. It identifies the tool's role as a deterministic OpenChainGraph compute node that produces a verification artifact. While the purpose is clear, it doesn't explicitly distinguish it from the many sibling tools like 'verify_merkle_batch' or 'verify_summa_mst_inclusion' — it focuses on its compute-node mechanisms rather than what makes this verifier unique among other verification tools. A score of 4 reflects clear purpose with limited direct sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use different compute modes (auto, server, browser) but does not provide explicit guidance on when to use this tool versus other verification siblings. The 'when to use' context is implied through the tool's existence in the compute-node framework, and there's no statement about what inputs are appropriate beyond 'synthetic or anonymised inputs only.' The description tells the user how to control execution but not when this tool is the right choice among the many verify_* siblings. This is functional usage guidance for the compute mechanism but minimal for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_merkle_batchMerkle Batch VerifierBRead-onlyIdempotentInspect
Merkle Batch Verifier: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: rca-02-mica-reserve-stress, pnr-01-dora-ict-cascade-simulator. Output feeds: ptg-01-ap2-prompt-template-generator, cry-05-agent-action-audit-trail-aggregator. Open at: https://ainumbers.co/chaingraph/cry-04-merkle-batch-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already declaring readOnlyHint=true and idempotentHint=true, the description adds significant context: inputs are processed transiently and not stored, synthetic data is advised, and it exports an AP2 artifact with execution_hash. It also clarifies the compute routing behavior for gpu:false vs gpu:true nodes, which is beyond annotations. No contradiction detected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, with many platform-specific details (chain provenance, upstream/downstream, FV-status, URL) that may be essential for the OpenChainGraph ecosystem but risk burying the core purpose. It front-loads the deterministic nature and compute modes, but the extensive references to artifact chains and URLs make it less concise than necessary for rapid agent parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (4 params, nested objects, compute modes) and the absence of an output schema, the description provides substantial context: it explains execution modes, transient processing, artifact export, and upstream/downstream connections, all relevant to correct invocation. However, it omits expected return behavior (e.g., verification result structure) and does not fully clarify the purpose of parent_hashes chain chaining beyond schema hints, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well documented in the schema. The description adds value by explaining the compute modes in detail (including 'auto' default and browser delegation), but it does not explain parent_hashes or parent_tool_ids beyond what the schema states. It also mentions policy_parameters are computed server-side but doesn't elaborate on field specifics, relying on the manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly identify this as a Merkle batch verifier and a deterministic OpenChainGraph compute node, but the core action 'verify' is understated—the description focuses more on the platform execution model than on what 'verification' entails or returns. It distinguishes itself from many siblings by its cryptographic compute nature, but doesn't explicitly say what inputs are checked or what constitutes a successful verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed execution-mode selection (compute: auto/browser/server) and explicitly names consuming and feeding tools, but it does not provide when-to-use versus not-use criteria, nor contrast with alternatives like verify_merkle_airdrop_proof or verify_execution_hash. It implies usage for chain provenance verification but leaves the actual decision to the agent without clear exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_migration_completenessPayment Data Migration CompletenessCRead-onlyIdempotentInspect
Payment Data Migration Completeness: OpenChainGraph compute node (attestation_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-519-payment-data-migration-completeness.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides some behavioral transparency: it explicitly states 'Deterministic', 'Inputs are processed transiently and are not stored, logged, or retained', and 'Use synthetic or anonymised inputs only'. It also mentions exporting an AP2 artifact. These are useful, non-obvious details. However, it does not explain side effects or failure modes, and much of the content is generic boilerplate. Annotations already indicate read-only and idempotent, so the description adds moderate extra value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive. It contains long templated phrases about compute modes, URLs, and status endpoints that are not directly relevant to the tool's core purpose. The text is not tightly structured; important information is buried under boilerplate. It could be reduced to a few concise sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of four input parameters (including nested objects) and no output schema, the description is incomplete. It fails to explain how migration completeness is determined, what the inputs control, or what the expected output artifact signifies. The reference to a manifest suggests external dependency, but the description itself does not provide enough context for an agent to use it correctly. Much of the provided text is generic and does not address the specific domain of payment data migration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all four parameters with descriptions (100% coverage). The tool description adds context about compute modes and how policy_parameters are computed server-side under certain conditions, which slightly enriches understanding. However, it does not explain how these parameters relate to migration completeness verification, and it defers to a manifest for field names. Baseline 3 applies since schema coverage is high and description adds marginal clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and initial phrase 'Payment Data Migration Completeness' suggest a verification purpose, but the description immediately diverges into generic OpenChainGraph compute node mechanics (compute modes, hashing, provenance). It never explicitly states that this tool verifies migration completeness, what that entails, or what constitutes completeness. The name is informative but the description body obscures the actual function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of the typical scenario, prerequisites, or conditions that would make this tool the right choice. The description focuses on infrastructure details rather than use cases, leaving the agent without clear direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_product_authenticityLuxury Goods Product Authenticity VerifierCRead-onlyIdempotentInspect
Luxury Goods Product Authenticity Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-116-product-lineage-builder. Open at: https://ainumbers.co/chaingraph/art-117-product-authenticity-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnly/idempotent/destructive annotations, it adds deterministic behavior, server-side vs client-side delegation, transient no-retention processing, an AP2 artifact with execution_hash, and a verifiable FV-status receipt. This is strong disclosure, though some terms (gpu:false nodes, registered kernel, AP2 artifact) are left unexplained 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense paragraph with redundant openings ('OpenChainGraph compute node' appears twice) and late-arriving auxiliary material like URLs and FV-status receipts. The most decision-relevant details—upstream dependency and compute semantics—are buried in the middle rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers compute modes, input handling, upstream lineage, and artifact export, but with no output schema it never explains what the authenticity result looks like or how an agent should interpret the returned AP2 artifact. The details are extensive yet incomplete at the functional level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameter descriptions, so the baseline applies. The description echoes the compute enum behavior but adds little beyond the schema, and policy_parameters field names are deferred to the tool's manifest rather than explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and opening identify a luxury-goods authenticity verifier and an OpenChainGraph compute node, but the body never states the core action in verb form: what inputs are checked and what verdict is produced. It is more informative than a tautology, but it is vague about the actual verification semantics and does not differentiate from the many verify_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational context such as compute-mode behavior, upstream artifact dependency on art-116-product-lineage-builder, and a 'synthetic or anonymised inputs only' instruction, but it never says when to choose this tool over alternatives or when not to use it. There is no explicit routing among the sibling verify tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_proof_of_reserves_consistencyProof-of-Reserves VerifierCRead-onlyIdempotentInspect
Proof-of-Reserves Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-584-proof-of-reserves-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | |
| not_proven | No | |
| coverage_ratio_pct | No | |
| determination_note | No | |
| regulatory_framework | No | |
| computed_reserve_root | No | |
| declared_reserve_root | No | |
| overall_determination | No | |
| computed_liability_root | No | |
| declared_liability_root | No | |
| reserve_figure_cross_check | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that inputs are processed transiently and not stored/logged/retained, and notes the requirement for synthetic or anonymised inputs. It also mentions deterministic behavior and AP2 artifact output. However, it does not fully describe the verification logic, side effects beyond artifact creation, or error conditions. These disclosures align with the readOnly and idempotent hints, without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and including long URLs and JSON paths that are not essential for understanding the tool's purpose. The structure is poor, with critical information buried in a block of text rather than presented clearly. It violates conciseness principles.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the output schema is marked as present, the description does not explain the structure or interpretation of the returned AP2 artifact. It mentions an execution_hash for provenance but does not describe how to consume the result. Given the tool's complexity (multiple parameters, nested objects), the description lacks sufficient context for an agent to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for all parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) with 100% coverage. The tool description adds some context about compute modes and gpu behavior, but this is largely redundant with the schema's own description. It does not clarify the relationship between parent_hashes and policy_parameters beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Proof-of-Reserves Verifier' but spends most of its text on compute binding details (server-side vs browser, gpu nodes, AP2 artifact) rather than explicitly stating what the tool verifies or how. It does not clearly describe the core verification function, leaving the agent to infer from the name and sibling context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool instead of the many related siblings (e.g., verify_reserve_proof, precheck_reserve_attestation). It does not mention typical use cases, prerequisites, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_reserve_proofReserve Proof VerifierCRead-onlyIdempotentInspect
Reserve Proof Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-280-reserve-proof-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral details beyond annotations: it states determinism, that inputs are processed transiently and not stored, and describes compute modes. However, it lacks clarity on side effects, output format, or what constitutes a successful verification. It is partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, with redundant phrases like 'Reserve Proof Verifier' and 'OpenChainGraph compute node' repeated. It is poorly structured, mixing compute-mode details with unrelated URLs and status snapshots, making it difficult to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not adequately explain the tool's purpose or output. It lacks information about what a reserve proof is, how to use the parent_hashes and parent_tool_ids, or what the resulting artifact represents. The inclusion of external URLs and obscure terms (e.g., 'AP2 artifact', 'chain provenance') assumes background knowledge the user may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all four parameters, so the description does not add significant extra meaning. It only elaborates on the 'compute' parameter in the text, but other parameters (parent_hashes, parent_tool_ids, policy_parameters) are not further explained. The coverage is complete, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is titled 'Reserve Proof Verifier' but fails to clearly state that it verifies reserve proofs. It focuses on compute node behavior (e.g., server vs browser delegation) and includes repetitive phrases like 'OpenChainGraph compute node'. The actual purpose is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, prerequisites, or comparisons with other tools. There is no indication of when this specific verifier should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_revocation_statusRevocation-Status VerifierCRead-onlyIdempotentInspect
Revocation-Status Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-287-revocation-status-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: inputs are "processed transiently... not stored, logged, or retained," the tool is deterministic (reinforcing idempotentHint), gpu:true nodes always delegate to the browser, and it exports an AP2 artifact with execution_hash for chain provenance. These disclose real side-effect and data-handling behaviors that annotations alone do not convey. There is no contradiction with readOnlyHint=true, idempotentHint=true, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but includes redundancy — "OpenChainGraph compute node" appears in both opening sentences — and it front-loads with a title restatement rather than the core function. It does pack real substance (retention policy, export artifact, FV-status receipt), yet several sentences on compute infrastructure duplicate what the schema already documents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested policy_parameters object and no output schema, the description omits the semantic core: what "revocation status" refers to, what the decision function evaluates, what the expected output looks like, and how results should be interpreted. The pointer "See the tool's manifest for field names" is not self-contained, so an agent cannot determine required inputs for the actual verification from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies even though the description adds little parameter-level meaning. The description's compute-mode explanation largely repeats the compute parameter's own schema description, and it adds nothing about parent_hashes, parent_tool_ids, or the nested policy_parameters object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title ("Revocation-Status Verifier") and classifies the tool as a "Deterministic OpenChainGraph compute node" but never states what it actually verifies — there is no verb+resource such as "checks whether a credential/signing key/tool scope has been revoked." The only functional hints come from the tool name itself and the input schema; the description is essentially tautological about purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus any of its hundreds of siblings; no alternatives are named and no selection conditions are stated. Operational detail about compute:"auto" vs "browser" concerns parameter choice rather than tool choice, and it largely duplicates the compute parameter's own schema description. The instruction "Use synthetic or anonymised inputs only" is a data-handling constraint, not a tool-selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_saleable_returnDSCSA Saleable Returns VerifierARead-onlyIdempotentInspect
DSCSA Saleable Returns Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-112-dscsa-transaction-statement-verifier. Output feeds: art-114-suspect-product-quarantine. Open at: https://ainumbers.co/chaingraph/art-113-saleable-returns-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially exceeds the annotations: it discloses transient processing ('not stored, logged, or retained'), determinism (aligning with idempotentHint), privacy guidance ('synthetic or anonymised inputs only'), and chain behavior (exports an AP2 artifact with execution_hash, consumes upstream artifacts, feeds downstream quarantine). It also explains the FV-status receipt is a verifiable offline snapshot. None of this contradicts the readOnly/destructive annotations; instead it enriches them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and roughly front-loaded with compute behavior, but it repeats itself ('OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node.') and carries trailing provenance boilerplate (URL, FV-status hash, snapshot semantics) that is more about tool governance than invocation. A tighter version would cut the duplication and keep the chain-position facts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity chain node with no output schema, the description covers invocation well: compute modes, transient handling, upstream/downstream artifacts, and the exported execution_hash. However, it never describes the verification result itself — an agent cannot tell what the response conveys (verdict? risk score? quarantine flag?) beyond the AP2 artifact. With no output schema to fall back on, this is a genuine gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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; per the rubric the baseline is 3. The description adds modest context beyond the schema — the compute-mode behavior (server vs. browser delegation), the chain-provenance meaning of parent_hashes via execution_hash, and that policy_parameters feed 'this tool's decision function' — but no field-level detail is added beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and operation — a DSCSA Saleable Returns verifier that is a deterministic OpenChainGraph compute node under a compliance mandate. It differentiates from siblings by positioning itself in a chain: consuming from art-112-dscsa-transaction-statement-verifier and feeding art-114-suspect-product-quarantine. However, it never states what the verification actually decides (e.g., whether a returned product is saleable or suspect), leaving the core verification semantics implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete invocation guidance for the compute parameter: auto defaults to server-side for gpu:false nodes with registered kernels, browser forces client-side delegation, gpu:true always delegates. It also issues a caution to use synthetic or anonymised inputs only. But it does not state when to prefer this verifier over sibling verify_* tools or any exclusion conditions, leaving cross-tool selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_settlement_asset_backingSettlement-Asset Backing InvariantBRead-onlyIdempotentInspect
Settlement-Asset Backing Invariant: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-521-settlement-asset-backing-invariant.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses determinism, transient processing with no storage/logging/retention, browser-delegation behavior, AP2 artifact export with execution_hash, and the FV-status snapshot semantics. These details materially help an agent understand side effects and trust properties. There is no contradiction with the read-only and idempotent annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains redundancy: 'OpenChainGraph compute node' and 'Deterministic OpenChainGraph compute node' appear in immediate succession. It also includes long URL strings and FV-status receipt details that are tangential to invoking the tool correctly. While the compute-mode information is useful, the description would be stronger if trimmed and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, yet the description never explains what the verification result looks like or how to interpret the 'settlement-asset backing invariant' outcome. It mentions an AP2 artifact with execution_hash but does not say what the artifact contains or how an agent determines whether the invariant held. The compute execution model is covered well, but the core semantic purpose and expected result are incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all parameters with 100% coverage, including the compute enum semantics and the role of parent_hashes and parent_tool_ids. The description adds some color about compute behavior, but it does not explain parent_hashes, parent_tool_ids, or policy_parameters beyond what the schema provides. Baseline 3 is appropriate because the schema carries the parameter-semantics burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'OpenChainGraph compute node (compliance_mandate)' for a 'Settlement-Asset Backing Invariant', but it never states in plain terms that the tool verifies the backing of settlement assets. The title and name imply the function, yet the description itself is category-level and does not explicitly say what input produces what verification result. It does not differentiate from the many sibling verify_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives meaningful usage context around compute modes: auto defaults to server-side execution, browser forces client-side delegation, and gpu:true always delegates. It also warns to use only synthetic or anonymised inputs. However, it never says when to prefer this tool over alternative verification or chain-provenance tools, so the when-to-use-vs-alternatives guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_slsa_provenanceSLSA Provenance VerifierBRead-onlyIdempotentInspect
SLSA Provenance Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-135-cyclonedx-sbom-validator. Output feeds: art-137-openvex-statement-validator. Open at: https://ainumbers.co/chaingraph/art-136-slsa-provenance-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description adds that inputs are processed transiently, not stored or logged, and that the tool is deterministic. It also explains compute modes (auto, server, browser) and when browser delegation occurs, providing useful behavioral detail that isn't 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating 'OpenChainGraph compute node' and including extraneous details about data handling and compute modes that could be condensed. It lacks a clear structure, making it harder to parse the core purpose quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description focuses heavily on compute modes and data privacy but omits details about the actual verification process, input expectations, error conditions, or the nature of the verification result. It does not explain what constitutes valid input or what the tool returns (only that a browser delegation URL may be returned), leaving gaps for an agent executing the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all four parameters in detail (compute, parent_hashes, parent_tool_ids, policy_parameters). The description adds minimal extra meaning, mostly reiterating compute-mode behavior, so it doesn't significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a verb ('verify') and a resource ('SLSA provenance'), identifying it as an OpenChainGraph compute node. It distinguishes the tool's core function, though it doesn't specify exactly what aspect of SLSA provenance is verified or what the output looks like, so it's clear but not fully specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not mention when to use this tool over alternatives such as verify_execution_hash or other verification tools. It provides no guidance on selection criteria or scenarios where this tool is preferred, leaving the agent without clues for tool-choice disambiguation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_summa_mst_inclusionSumma MST Inclusion CheckerDRead-onlyIdempotentInspect
Summa MST Inclusion Checker: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-620-summa-mst-inclusion-checker.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral detail beyond the annotations, such as stating that inputs are processed transiently and not stored/logged/retained, that the tool is deterministic, and that it exports an AP2 artifact. However, it does not fully disclose potential side effects or limitations, and the annotation already covers read-only and non-destructive nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating the compute-mode explanation and including unnecessary URLs and status endpoints. It lacks a clear structure and front-loads purpose poorly. The text could be drastically shortened without loss of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity with nested objects and multiple parameters, the description is highly incomplete. It fails to explain the overall purpose, how parameters interact, what the output artifact contains, or the role of parent hashes and policy parameters. The lack of an output schema is not compensated by any description of return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add any meaning beyond the schema for parameters like parent_hashes, parent_tool_ids, or policy_parameters. It only repeats the compute parameter's description without enhancing understanding. Since schema descriptions already exist, the text contributes little to parameter comprehension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not clearly state what the tool actually does. It names it 'Summa MST Inclusion Checker' but never explains what 'Summa MST inclusion' means, what it verifies, or what the inclusion check entails. It focuses on compute mechanics and artifact export rather than the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It mentions compute modes and transient processing but does not provide a use case, target scenario, or criteria for selection. No comparison to sibling tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_tempo_mpp_voucherTempo MPP Voucher & Receipt VerifierBRead-onlyIdempotentInspect
Tempo MPP Voucher & Receipt Verifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-594-tempo-mpp-voucher-receipt-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: deterministic processing, transient inputs (not stored/logged/retained), browser delegation for gpu:true nodes, and export of AP2 artifact. This complements readOnlyHint, idempotentHint, and destructiveHint without contradiction. However, it does not clarify the output format (what the 'response' contains), which is a notable gap for a tool with no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes extraneous information such as a URL and an FV-status link, which are unlikely to help an agent invoke the tool. It front-loads the name but then dives into compute-node internals, browser delegation, and provenance details. Multiple sentences could be condensed, and the key verification logic is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the tool returns or how the verification result is presented. It states 'compute the response' but never specifies the response format. It also does not describe how to construct policy_parameters (only refers to a manifest) or explain the role of parent_hashes and parent_tool_ids beyond schema descriptions. The verification logic itself is opaque, leaving an agent without enough to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters (compute, parent_hashes, parent_tool_ids, policy_parameters) are documented. The description adds minimal extra value: it mentions 'policy_parameters' via reference to the manifest but does not elaborate. It repeats compute mode semantics already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'Tempo MPP Voucher & Receipt Verifier' that computes a response and exports an artifact with execution_hash. It identifies the resource (voucher/receipt) and the action (verify), but does not specify what 'verify' means (e.g., valid? match?) or differentiate from other verify_* tools like verify_ap2_payment_receipt. The technical compute details overshadow the core purpose, but the verb+resource is present.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternative verification tools. The description explains compute modes (auto, server, browser) and constraints (use synthetic inputs), but these are operational details, not usage context. An agent would not know if this is the right tool for a given voucher verification scenario or how it differs from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_timestamp_attestationTimestamp Attestation VerifierARead-onlyIdempotentInspect
Timestamp Attestation Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-121-document-integrity-anchor. Open at: https://ainumbers.co/chaingraph/art-122-timestamp-attestation-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is clearly non-destructive. The description adds significant behavioral context: it explains that inputs are processed transiently and not stored/logged/retained, mandates synthetic or anonymised inputs only, and describes the output artifact (AP2 with execution_hash) and offline verification receipt. This goes beyond annotations without contradicting them. One minor gap: it doesn't explicitly state idempotency, but that's already in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not excessively long, covering many operational aspects. It front-loads the purpose and then details compute modes, privacy, and provenance. Every sentence adds value, but the mention of the FV-status URL and specific artifact links could be seen as extra details that may be better placed in additional metadata, so a slight deduction from 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, compute mode enums) and no output schema, the description is quite complete: it explains default behavior, execution modes, privacy implications, and offline verification. However, it doesn't provide examples of typical input values or explain the exact format of parent_hashes beyond 'execution_hash values', which could be ambiguous. Also, it doesn't mention error conditions or potential limitations. These are minor gaps given the rich context provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all parameters. The description adds value by clarifying that compute:'auto' is default and that gpu:true nodes always delegate, which is not fully captured in the schema. It also explains the semantics of parent_hashes and parent_tool_ids as chaining inputs, which aligns with 'chain provenance' but is somewhat implicit. Since coverage is high, baseline is 3, but the description compensates by clarifying execution modes and input handling, making it a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies timestamp attestations within the OpenChainGraph compute node framework, specifying its deterministic nature and compliance mandate. It differentiates from siblings by detailing compute modes and chaining behavior, but it doesn't explicitly name sibling tools or contrast with them, so a slight deduction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by explaining when to use compute:'auto' vs 'browser' and when inputs are computed server-side, which helps an agent decide between execution modes. However, it doesn't explicitly state when to prefer this tool over alternatives like verify_execution_hash or anchor_stamp, nor does it mention non-use cases. The sibling context is huge, so more explicit routing would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_trade_document_setTrade Document Provenance & Consistency VerifierARead-onlyIdempotentInspect
Trade Document Provenance & Consistency Verifier: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-52-digital-trade-fit-diagnostic, art-54-digital-trade-rules-checker. Output feeds: cry-04-merkle-batch-verifier, art-10-amla-transaction-typology-risk-scorer, ml-03-timeseries-anomaly-detector. Open at: https://ainumbers.co/chaingraph/art-55-trade-document-provenance-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds substantial behavioral context: it explains compute modes (auto/server/browser), transient processing without storage, and the requirement for synthetic inputs. This complements the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and dense with jargon (e.g., 'cryptographic_mandate', 'FV-status', URLs) that may overwhelm the agent. The key information (deterministic, compute modes, transient processing) is buried in a wall of text. Could be restructured with clearer paragraphs or bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, nested objects, enum), the description provides essential context about chain connections and compute behavior. However, it lacks explanation of what the output artifact contains beyond an execution_hash, and doesn't describe how to interpret the AP2 artifact for verification, which might be expected from a verifier tool. Also, no mention of failure modes or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and includes detailed descriptions for each parameter, especially the compute enum. Description reinforces the compute semantics and mentions parent_hashes and parent_tool_ids in the chain contextving. It also notes that policy_parameters are computed server-side, adding clarity beyond the generic schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly indicate this is a ChainGraph compute node for verifying trade document provenance and consistency. However, it does not distinguish itself from sibling tools like 'verify_execution_hash' or 'verify_merkle_batch' which may overlap in purpose. The verb 'verify' plus the resource is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it consumes specific upstream artifacts and feeds downstream tools, but does not provide explicit when-to-use or when-not-to-use guidance relative to alternatives. It does not mention when an agent should prefer this over a simpler hash verification tool. Mostly technical chain context, no decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_trid_apr_accuracyTRID APR Accuracy VerifierARead-onlyIdempotentInspect
TRID APR Accuracy Verifier: OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-215-reg-z-appendix-j-apr. Open at: https://ainumbers.co/chaingraph/art-217-trid-apr-accuracy.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially exceeds what the annotations already convey: it discloses that inputs are processed transiently and not stored, logged, or retained; that gpu:true nodes always delegate to the browser; that browser mode returns a delegation URL rather than computing; and that the FV-status receipt is a snapshot that verifies offline regardless of network availability. These are genuinely useful invocation behaviors beyond the readOnlyHint/idempotentHint/destructiveHint flags. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description begins with redundant framing ('OpenChainGraph's compute node... Deterministic OpenChainGraph compute node') that repeats rather than informs. The FV-status block, while information-compressed, is very long and hash-heavy relative to the rest of the description. Many sentences earn their place, so it is not padded, but the first two sentences could be merged and the core verification purpose deserves headline placement over registry details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what the tool returns, and it never does—it says a response is computed and an AP2 artifact is exported, but an agent cannot derive the pass/fail result or what the execution response contains. What it does cover well: execution location modes, retention guarantees, chain provenance, and the upstream artifact needed for chaining. The missing policy_parameters shape and the undefined return value are sizable gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description adds essentially nothing beyond the schema for compute, parent_hashes, or parent_tool_ids—it restates the compute binding without new meaning. The real gap is policy_parameters, which is an undocumented free-form object (with only 'See the tool's manifest for field names') and the description does not compensate by listing or exemplifying the decision-function inputs that the agent must actually pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description establish this as a TRID/Regulation Z APR accuracy verification node, and the description grounds it concretely by naming the upstream artifact it consumes (art-215-reg-z-appendix-j-apr) and the AP2 artifact it exports with an execution_hash. This distinguishes it from APR-computation siblings like compute_reg_z_appendix_j_apr, which do the calculating rather than the verifying. However, the actual verification semantics—what specific values are compared and how 'accuracy' is determined—are never explicitly stated; the description is entirely about compute infrastructure and provenance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to select this tool versus related siblings such as compute_trid_tolerance_cure, classify_qm_apr_apor_spread, or verify_ap2_payment_receipt. The only usage directive is 'Use synthetic or anonymised inputs only,' which is a data-hygiene constraint rather than a tool-selection rule. The compute-mode explanation (auto/server/browser) describes operating modes but does not route an agent to the right tool for a given task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_webbotauth_signatureWeb Bot Auth Signature Verifier (RFC 9421)ARead-onlyIdempotentInspect
Web Bot Auth Signature Verifier (RFC 9421): OpenChainGraph compute node (compliance_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Output feeds: art-130-signature-directory-validator. Open at: https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds rich behavior beyond annotations: deterministic execution, Cloudflare Workers server-side compute, browser delegation for gpu:true nodes, transient processing with no storage/logging/retention, and AP2 artifact export with execution_hash information. None of this contradicts the readOnly/idempotent/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.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is substantial useful content, but the description repeats 'Deterministic OpenChainGraph compute node' almost verbatim and includes noise such as a website URL and FV-status receipt explanation that are irrelevant for tool selection and invocation. The front-loading is mixed; the important privacy warning appears after compute-mode details and is not given emphasis.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers compute location, determinism, transient processing, synthetic-input usage, AP2 artifact output, downstream consumer, and browser delegation URL behavior. However, there is no output schema and no explicit output contract beyond 'AP2 artifact with execution_hash', and policy_parameters field names are delegated to an unprovided manifest, leaving the agent without complete invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, including the compute enum, parent hashes, and parent tool IDs. The description mostly echoes those compute-mode semantics and adds little parameter-level detail; the only addition is the synthetic/anonymised inputs restriction, which is a margin but not a semantic explanation of the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Web Bot Auth Signature Verifier (RFC 9421)' plus the initial noun phrase convey that this is a verifier for a specific signature scheme, and the description adds that it is a deterministic OpenChainGraph compute node exporting AP2 artifacts for provenance. However, the description never gives a clear action sentence such as 'Verifies the RFC 9421 signature for Web Bot Auth inputs', and it does not differentiate the tool from the many verify_* siblings in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides privacy and compute-mode constraints ('Use synthetic or anonymised inputs only', browser vs server delegation), but it gives no guidance on when to choose this tool versus alternative signature verifiers or validators. No when-to-use, when-not-to-use, or alternative routing is stated, leaving the agent without selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_witness_cosignaturesWitness Cosignature VerifierCRead-onlyIdempotentInspect
Witness Cosignature Verifier: OpenChainGraph compute node (cryptographic_mandate). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Open at: https://ainumbers.co/chaingraph/art-424-witness-cosignature-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful context: inputs are processed transiently and not stored, logged, or retained, and it warns to use synthetic or anonymised inputs only. It also mentions exporting an AP2 artifact, which is additional behavior. These align with the annotations and add value, but the description does not disclose the core verification behavior or its side effects beyond infrastructure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and front-loads infrastructure details (compute modes, Cloudflare Workers, URLs, FV-status) before stating any clear purpose. It is not structured to aid an agent quickly understanding what the tool does. Key functional details are buried under operational jargon, making it inefficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a verification tool without an output schema, the description should explain what is verified, what inputs are expected (even though none are required), and what the output artifact contains. It does none of this. It mentions 'exports an AP2 artifact with execution_hash' but not what the artifact proves or how the verification result is represented. The description is incomplete for an agent to correctly invoke and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters (compute, parent_hashes, parent_tool_ids, policy_parameters). The description does not add any additional meaning about these parameters; it only references compute modes and policy_parameters in a way that mirrors the schema. It provides no extra context about how to construct or interpret the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Witness Cosignature Verifier: OpenChainGraph compute node (cryptographic_mandate),' which is essentially a restatement of the tool name, not a clear functional description. It does not explain what a witness cosignature is, what verification means in this context, or what the expected output represents. The rest of the text focuses on compute modes and infrastructure, leaving the core purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus any of the many sibling verify_* tools. The description does not mention alternative tools, conditions, or exclusions. The discussion of compute modes is about execution environment, not about selecting this tool for a task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_x402_signer_recoveryx402 Signer Recovery VerifierARead-onlyIdempotentInspect
x402 Signer Recovery Verifier: OpenChainGraph compute node (compliance_control). Deterministic OpenChainGraph compute node. By default (compute:"auto") inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and returns a browser delegation URL instead. gpu:true nodes always delegate to the browser. Inputs are processed transiently to compute the response and are not stored, logged, or retained. Use synthetic or anonymised inputs only. Exports an AP2 artifact with execution_hash for chain provenance. Consumes upstream artifacts from: art-590-x402-eip712-digest-recomputer. Open at: https://ainumbers.co/chaingraph/art-591-x402-signer-recovery-verifier.html FV-status (published/proven/still-trusted for this spec): /fv-status/8b5ae30d812cd234cfb6068c4ce2022f01d10f2a358979b0f0d73421e09d2543.json — a snapshot, not a subscription; this receipt verifies offline regardless of whether that file is ever fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| compute | No | Compute mode (v0.4 Compute Binding). "auto" (default) = server for gpu:false nodes with registered kernels; "server" = force server-side; "browser" = always return browser delegation URL. gpu:true nodes always delegate. | |
| parent_hashes | No | execution_hash values from upstream ChainGraph AP2 artifacts to chain from (sets chain.parent_hashes in the export). | |
| parent_tool_ids | No | tool_id values matching parent_hashes, in the same order. | |
| policy_parameters | No | Input parameters for this tool's decision function. For gpu:false nodes with a registered kernel, these are computed server-side when compute is "auto" or "server". See the tool's manifest for field names. |
Output Schema
| Name | Required | Description |
|---|---|---|
| digest | No | |
| reasons | No | |
| verdict | No | |
| scope_note | No | |
| recovery_id | No | |
| claimed_from | No | |
| recovered_signer | No | |
| recovery_id_source | No | |
| recovered_signer_matches_claimed_from | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint=false), the description discloses that inputs are 'processed transiently' and 'not stored, logged, or retained,' that the node is deterministic, that compute modes have specific server/client execution paths, and that it exports an AP2 artifact with execution_hash for chain provenance. This is rich, non-obvious behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but verbose, running roughly nine sentences with detailed operational specifics. It is not front-loaded with a crisp purpose statement; it opens with a noun phrase. However, most sentences earn their place by conveying important constraints and dependencies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers compute modes, data handling, provenance, upstream dependencies, and verification status. It omits a plain-language explanation of what 'signer recovery' verifies, but the name and upstream artifact provide sufficient context. The FV-status link adds offline-verification detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds meaningful context for the compute parameter, explaining the auto/server/browser execution paths and the gpu:true delegation rule, and clarifies that parent_hashes come from upstream AP2 artifacts. This goes beyond the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an 'x402 Signer Recovery Verifier' and an 'OpenChainGraph compute node (compliance_control)' that consumes upstream artifacts from 'art-590-x402-eip712-digest-recomputer.' While it lacks an explicit verb phrase like 'verifies the recovered signer,' the name and upstream dependency make the core purpose clear. It is distinct from generic verify_* siblings because of the x402 and AP2 artifact context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational guidance—'Use synthetic or anonymised inputs only' and compute-mode rules such as 'gpu:true nodes always delegate to the browser'—but it does not explicitly state when to choose this tool over alternatives or name sibling tools. The usage context is implied by the specific x402 domain, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workbook_csv_parseParse strict RFC 4180 CSV into workbook cellsARead-onlyIdempotentInspect
Parses CSV text with the SAME strict RFC 4180 parser as the tools/554 browser workbook -- quoted fields, embedded quotes/commas/newlines, CRLF -- and REJECTS malformed input rather than repairing it (deterministic beats forgiving for hash-stable digests). Numeric-looking and TRUE/FALSE cells are type-coerced; everything else stays a string. Returns the resulting A1-style cells (raw + evaluated value) plus the sheet's row/column extent, ready for workbook_evaluate or workbook_range_digest -- unless as_artifact is true, in which case it returns a full OCG v0.4 artifact instead (see as_artifact).
| Name | Required | Description | Default |
|---|---|---|---|
| csv | Yes | CSV text to parse. | |
| provenance | No | Optional provenance metadata, only used when as_artifact is true. Never affects execution_hash. | |
| as_artifact | No | When true, returns a full OpenChainGraph v0.4 artifact (policy_parameters/output_payload/execution_hash/provenance) via the same exportArtifact() path as the tools/554 browser workbook's "Export as OCG Artifact" button, instead of this tool's normal bare payload. Default false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations, including the strict RFC 4180 parsing, rejection of malformed input, type coercion of numeric/boolean values, output format (A1-style cells with raw+evaluated value and sheet extent), and the as_artifact behavior. It also explains the rationale for determinism. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but well-structured, front-loading the main purpose and then detailing key behaviors. Every sentence contributes useful information without being verbose. Could be slightly more terse, but it's effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 params, no output schema, nested objects), the description provides sufficient context about parsing behavior, output content (A1-style cells with raw and evaluated values, sheet extent), and the as_artifact variant. It also relates to sibling tools (workbook_evaluate/digest). It covers the essential aspects without needing an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description adds value by clarifying that provenance only affects as_artifact mode and never the execution_hash, and that as_artifact changes the output format entirely. This goes beyond the schema's simple descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it parses CSV text using a strict RFC 4180 parser, distinguishing it from other parse tools by emphasizing the strictness and deterministic behavior for hash-stable digests. It also mentions type coercion and output format, making the purpose specific and distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (when strict parsing and deterministic results are needed) and how the output can be used with workbook_evaluate or workbook_range_digest. It also notes the as_artifact option. However, it does not explicitly state when not to use it or contrast with alternative parsing strategies beyond the mention of 'forgiving' parsers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workbook_evaluateEvaluate workbook cells (formulas + literals) and return computed valuesARead-onlyIdempotentInspect
Feeds a set of A1-style cells (formulas and/or literals) through the SAME headless evaluator the tools/554 browser workbook uses -- topo-sorted dependency graph, ~20 functions (SUM AVG MIN MAX COUNT COUNTIF IF AND OR NOT ROUND ABS CONCAT LEN LEFT RIGHT TRIM UPPER LOWER SUMIF), cycles resolve to "#CYCLE!" and any non-finite result to "#NUM!" rather than propagating. Returns the computed value of every supplied cell -- pure, no digest, no receipt -- unless as_artifact is true, in which case it returns a full OCG v0.4 artifact instead (see as_artifact).
| Name | Required | Description | Default |
|---|---|---|---|
| cells | Yes | Map of A1-style cell ref (e.g. "B2") to raw value -- a formula string starts with "=" (e.g. "=SUM(A1:A3)"), anything else is a literal. | |
| provenance | No | Optional provenance metadata, only used when as_artifact is true. Never affects execution_hash. | |
| as_artifact | No | When true, returns a full OpenChainGraph v0.4 artifact (policy_parameters/output_payload/execution_hash/provenance) via the same exportArtifact() path as the tools/554 browser workbook's "Export as OCG Artifact" button, instead of this tool's normal bare payload. Default false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds significant behavioral details: topo-sorted dependency graph, specific functions list, cycles resolve to '#CYCLE!', non-finite results to '#NUM!', no digest/receipt unless as_artifact=true. This provides a clear understanding of how the tool operates beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with the main purpose. It is structured into two sentences: one for behavior and one for output. While every sentence provides value, it could be slightly more concise by trimming less critical details (e.g., 'pure, no digest, no receipt'). Overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (formula evaluation, dependency graph, error handling, artifact mode), the description covers most aspects: functions, errors, output modes, and optional provenance. However, it lacks details on performance limits (e.g., maximum cells) and the exact structure of the artifact (briefly referenced). No output schema exists, so the description carries the burden, which it mostly satisfies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds essential context: for 'cells', it explains that formulas start with '=', and literals are anything else. For 'as_artifact', it specifies the return type (OCG v0.4 artifact) and export artifact path. For 'provenance', it clarifies it only matters when as_artifact is true and never affects execution_hash. This adds meaning beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool evaluates workbook cells (formulas and literals) and returns computed values. It specifies the evaluator (same as tools/554 browser workbook), mentions topological sorting, ~20 functions, and error handling (#CYCLE!, #NUM!). This distinguishes it from sibling tools like workbook_range_digest and workbook_csv_parse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it uses a headless evaluator for A1-style cells. It describes the functions and error handling. However, it does not explicitly state when to use this tool vs alternatives or when not to use it. Sibling tools exist for related tasks, but no exclusion criteria are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workbook_range_digestDigest a workbook range into a Spreadsheet Input Manifest range fragmentARead-onlyIdempotentInspect
Spreadsheet-range digest only; NOT the general artifact emitter (use emit_chaingraph_artifact to wrap arbitrary computation output — this tool's as_artifact mode covers whole-sheet workbook runs only). Evaluates the supplied cells (same evaluator as workbook_evaluate) and computes a canonical values_digest over one A1-style range (e.g. "B2:D9") -- the exact executionHash(values, {}) path the rest of OCG uses, per chaingraph/workbook/INPUT-MANIFEST.md (WB-2). Returns one ranges[] fragment of the Spreadsheet Input Manifest schema; assemble the full manifest (source.csv_digest, produced_by/produced_at) around it. Same range digested from the same cells in the tools/554 browser workbook always produces the same values_digest -- unless as_artifact is true, in which case it returns a full OCG v0.4 artifact over the WHOLE sheet instead of a single-range fragment (see as_artifact).
| Name | Required | Description | Default |
|---|---|---|---|
| cells | Yes | Map of A1-style cell ref (e.g. "B2") to raw value -- a formula string starts with "=" (e.g. "=SUM(A1:A3)"), anything else is a literal. | |
| range | Yes | A1-style cell or range reference to digest, e.g. "B2" or "B2:D9". | |
| semantics | No | Free-text pointer describing what this range means to the consuming policy_parameters. | |
| provenance | No | Optional provenance metadata, only used when as_artifact is true. Never affects execution_hash. | |
| as_artifact | No | When true, returns a full OpenChainGraph v0.4 artifact (policy_parameters/output_payload/execution_hash/provenance) via the same exportArtifact() path as the tools/554 browser workbook's "Export as OCG Artifact" button, instead of this tool's normal bare payload. Default false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior; the description adds valuable context by specifying deterministic digest behavior, the exact executionHash(values, {}) path, and the as_artifact mode's whole-sheet exception. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: scope guard, evaluation/hash detail, return-value usage, and deterministic-behavior caveat. Every clause adds information and there is no redundant boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description explains what the tool returns, how to assemble the full manifest, when behavior changes via as_artifact, and how it relates to sibling tools like emit_chaingraph_artifact and workbook_evaluate. This is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 non-obvious parameter meaning by clarifying that as_artifact returns a full whole-sheet artifact instead of a single-range fragment, and by reinforcing the range format with an example. Remaining parameter details are adequately covered by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('computes a canonical values_digest over one A1-style range') and a specific result ('Returns one ranges[] fragment of the Spreadsheet Input Manifest schema'). It also distinguishes itself from the general artifact emitter by naming emit_chaingraph_artifact as the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-not guidance: 'NOT the general artifact emitter (use emit_chaingraph_artifact...)' and explains that as_artifact mode is only for whole-sheet workbook runs. It also instructs on how to use the result by assembling the full manifest around the returned fragment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workbook_roundtrip_verifyVerify a pasted-back Excel round-trip against a Spreadsheet Input ManifestARead-onlyIdempotentInspect
Compares a WB-2 Spreadsheet Input Manifest (expected digests) against pasted-back CSV/TSV text per manifest range (observed, e.g. after a recompute in Excel) and returns an XLR-1 round-trip receipt -- result: "match"|"mismatch" plus a mismatches[] cell list when expected_by_ref text is also supplied. SAME comparator module as the tools/ round-trip page (XLR-2/XLR-3) -- byte-identical receipt for the same inputs. Paste-intake is untrusted: finite-gate (#NUM! for NaN/Infinity) and CSV-injection sanitization apply identically to WB-1's CSV import. Verify-only -- never operates Excel, never ingests .xlsx.
| Name | Required | Description | Default |
|---|---|---|---|
| manifest | Yes | WB-2 Spreadsheet Input Manifest object (input-manifest.schema.json) -- the expected side. | |
| produced_at | Yes | ISO-8601 timestamp -- required, no default (pure: no wall-clock read). | |
| produced_by | Yes | Identity slot for who/what produced this receipt -- required, no default (pure: no identity read). | |
| expected_by_ref | No | OPTIONAL map of manifest range ref -> the actual expected CSV/TSV text (e.g. the pq-export the manifest was built from). Supplying it resolves a digest mismatch to per-cell mismatches[] entries instead of a single range-level entry. | |
| observed_by_ref | Yes | Map of manifest range ref -> pasted-back CSV/TSV text for that range (e.g. { "B2:C3": "10,widget\r\n20,gadget\r\n" }). One entry required per manifest.ranges[].ref. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is already established. The description adds meaningful behavioral context: it states this is verify-only, never operates Excel, never ingests .xlsx, and explains that paste-intake is untrusted with finite-gate (#NUM! for NaN/Infinity) and CSV-injection sanitization applied identically to WB-1's CSV import. It also discloses that mismatches[] only appear when expected_by_ref is supplied, and that the receipt is byte-identical to the round-trip page comparator. This is rich behavioral disclosure complementing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense two-sentence block covering purpose, comparator equivalence, security model, and conditionality of output. It is reasonably compact given the technical specificity required, and the most important facts (compare manifest vs pasted text, returns match/mismatch) are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with 5 parameters (4 required), a nested manifest object, and no output schema. The description compensates well: it explains the receipt format (result + mismatches[]), the conditional resolution behavior of expected_by_ref, the security sanitization, and the verification-only scope. It also clarifies it never touches Excel/.xlsx, which is important given the workbook_* sibling context. The only minor gap is no explicit statement about what a successful match receipt looks like beyond the result field, but the schema params are all fully described at 100% coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description doesn't need to carry the param-documentation burden. The description does add value beyond the schema: it explains that expected_by_ref resolves digest mismatches to per-cell mismatches[] entries rather than a single range-level entry, and that observed_by_ref requires one entry per manifest.ranges[].ref. These are causal/behavioral nuances the schema alone doesn't state. However, the description doesn't walk through each parameter, and the schema already documents all five thoroughly, so this sits at the baseline-plus level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+object ('Compares a WB-2 Spreadsheet Input Manifest against pasted-back CSV/TSV text') and states the exact output (XLR-1 round-trip receipt with result field). It clearly distinguishes from siblings by referencing the tools/ round-trip page (XLR-2/XLR-3) comparator and explicitly scoping to never operating Excel. The name and title already communicate the intent well, and the description reinforces it precisely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when this is used: 'against pasted-back CSV/TSV text per manifest range (observed, e.g. after a recompute in Excel)'. It distinguishes itself from WB-1's CSV import ('SAME comparator module as the tools/ round-trip page'). It clearly delineates verify-only from other workbook operations (workbook_csv_parse, workbook_evaluate, workbook_range_digest siblings). However, it does not explicitly list exclusions or name an alternative tool to use instead in other scenarios (e.g., when verifying digests rather than pasted text, or when .xlsx ingestion is needed), relying instead on negative scoping ('never operates Excel'). This leaves some ambiguity about when NOT to use it beyond the Excel .xlsx boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityBmaintenance53 regulatory compliance evidence tools across 3 MCP servers for AI agents. MiCA authorization status, DORA evidence packs, stablecoin risk scoring (105+ tokens), macro intelligence (86 FRED series). Every response ECDSA-signed (ES256K), blockchain-anchored, audit-ready. Free tier, OAuth 2.0.MIT
- AlicenseNot gradedqualityDmaintenance498 MCP tools across 12 industry verticals. Marketplace, escrow, DeFi, legal, healthcare, insurance, construction, and trades. USDC payments on Base L2.17MIT
- FlicenseNot gradedqualityFmaintenanceProvides 667 specialized tools for financial and operational tasks, including fund accounting, compliance, DeFi, and tax management. It enables users to integrate extensive financial intelligence and automated workflows into any MCP-compatible client.1
- AlicenseAqualityDmaintenanceProvides cryptographically verifiable RWA trust attestations and multi-chain DeFi data (TVL, top protocols, positioning scorecards) via MCP tools for AI assistants.111MIT
Your Connectors
Sign in to create a connector for this server.