Skip to main content
Glama

decision_log

Log a strategic decision with its rationale, alternatives, proof action, and review date to persist across sessions and trigger review if assumptions change.

Instructions

Log a strategic decision so it persists across sessions. Every decision needs a reason, alternatives, and a proof action. Optionally capture the assumptions that make it true and the invalidate_if conditions that should reopen it — these turn a timestamped 'no' into a testable frame the system can reason about later.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whyYesThe real reason
typeNo
decisionYesWhat was decided
entity_idYesEntity this decision applies to
supersedesNoDecision IDs this new decision replaces (e.g. ['dec-007']). Only the IDs you explicitly pass will be marked superseded — there is no auto-deduction from type. Each target must belong to the same entity_id.
assumptionsNoThe premises that make this decision true — e.g. ['users want human approval before sending', 'model reliability not yet sufficient for autonomous send']. If these still hold, the decision likely still holds.
review_dateYesYYYY-MM-DD — when to revisit
alternativesNoOptions considered
proof_actionYesOne concrete, observable action that validates this decision — e.g. 'Run npm test and confirm all 41 tests pass'. Placeholders like 'Review in next session', 'TBD', or 'Revisit' are rejected.
invalidate_ifNoCondition-based review triggers ('what would make this false') — e.g. ['users show sustained trust in autonomous drafts', 'target workflow shifts from external email to internal triage']. Distinct from review_date (a time trigger): decision_check matches proposed actions against these to flag the decision for review rather than enforcing it blindly.
chosen_directionNo
Behavior4/5

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

Annotations only indicate readOnlyHint=false and destructiveHint=false. The description adds useful behavioral context by explaining that logged decisions persist across sessions and that invalidate_if conditions turn a timestamped decision into a testable frame for future reasoning. This goes beyond the bare 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.

Conciseness5/5

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

The description is concise, with three sentences that front-load the core purpose and then elaborate on required and optional inputs. Every sentence contributes meaning, and the structure is efficient.

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?

The description omits mention of several required fields like entity_id and decision, but the schema covers them. However, the inaccurate statement about alternatives being required is a significant gap that could mislead. The description does explain the purpose of assumptions and invalidate_if, but the misinformation lowers completeness.

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

Parameters2/5

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

Schema coverage is high (82%), so baseline is 3. However, the description inaccurately states that 'alternatives' is needed when the schema marks it as optional (required array only includes entity_id, decision, why, proof_action, review_date). This misinformation actively misleads an agent about required parameters, subtracting value rather than adding it.

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

Purpose5/5

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

The description uses a specific verb 'Log' and resource 'strategic decision', clearly indicating the tool records persistent decisions. It states the persistence aspect, which distinguishes it from siblings like decision_review and decision_check that likely read or analyze decisions.

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

Usage Guidelines4/5

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

The description provides clear context for use: logging strategic decisions for persistence across sessions. It also gives guidance on required elements ('reason, alternatives, and a proof action') and optional ones (assumptions, invalidate_if), though it does not explicitly name alternative tools or 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.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brainOS-HQ/brain-os'

If you have feedback or need assistance with the MCP directory API, please join our Discord server