Skip to main content
Glama

Audifact

log_outcome

Log a signed outcome event linked to a prior decision via decision_event_hash. Managed Mode (default): omit signing fields - the managed key from the linked decision's agent is used automatically when the decision was also managed. For client-signed decisions, pass agent_private_key_b64 or agent_public_key + signature using the same agent key. Signing method must match the linked decision (managed or client-signed). Outcomes do not accept scenario fields - scenario context is inherited from the linked decision.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tsNo
signatureNo
agent_nameNoIgnored for outcomes - managed signing uses the linked decision's agent.
outcome_typeYesPrivate semantic type, e.g. pnl
metadata_jsonNo
outcome_labelNoPrivate human-readable outcome label (account only).
outcome_valueYesPrivate numeric result
agent_public_keyNo
public_output_jsonNoOptional public structured output (shown on proof pages). Stored gzip-compressed; event hash includes content hash only.
decision_event_hashYes64-char hex hash of the linked decision event.
public_outcome_typeNoOptional public mirror of outcome_type (shown on proof pages).
public_outcome_labelNoOptional public outcome summary (shown on proof pages).
public_outcome_valueNoOptional public mirror of outcome_value (shown on proof pages).
agent_private_key_b64NoClient-side signing override.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and largely succeeds: it discloses that the managed key is auto-resolved from the linked decision's agent, that signing method must match the source decision, that agent_name is ignored, and that scenario fields are rejected because context is inherited. It omits immutability/error behavior expected of a signed ledger event, so it isn't complete.

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

Conciseness4/5

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

Four tight sentences in a single paragraph, front-loaded with 'what it does' before the signing branch detail. Slightly dense with two clauses covering key/signature alternatives, but every sentence earns its place.

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

Completeness3/5

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

For a 14-parameter, unannotated, no-output-schema tool, the description covers signing, linkage, and scenario inheritance but leaves the public_* mirroring fields, ts semantics, idempotency, and failure modes unaddressed. Adequate to call the tool, incomplete for the tool's complexity.

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

Parameters4/5

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

Schema coverage is 71%, and the description meaningfully supplements it by explaining the signing parameters as two mutually exclusive modes, the decision_event_hash linkage, and why agent_name/scenario fields are non-operative here. It does add real meaning beyond the property-level descriptions, though ts, metadata_json, and the public_* mirroring rules are left to the schema.

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

Purpose4/5

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

States a specific verb and resource ('Log a signed outcome event') and its linkage requirement ('linked to a prior decision via decision_event_hash'), which is enough to separate it from log_decision. It never names a sibling explicitly, so the differentiation is inferential rather than stated.

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

Usage Guidelines4/5

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

Gives concrete operating guidance: omit signing fields in Managed Mode (default), pass agent_private_key_b64 or agent_public_key + signature for client-signed decisions, and the signing method must match the linked decision. It doesn't state when to prefer this tool over log_decision, but the signing-mode branches are genuinely actionable.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.