Skip to main content
Glama
ilyautov

consilium-principis

save_decision_card

Record a decision card once the user consents and chooses an option, capturing the prediction contract, assumptions, success criterion, and review date.

Instructions

Записать Decision Card артефактом decisions/<дата>-.card.json — момент РЕШЕНИЯ (я выбрал вариант X): UUID (dc_…), prediction contract (числа из mc_run хранятся ЧИСЛАМИ: event probability ИЛИ metric p10/p50/p90+единицы), допущения, критерий успеха, дата ревью. МУТИРУЮЩИЙ тул: зови ТОЛЬКО с согласия юзера (Rule 0), ОДИН РАЗ после того как юзер выбрал вариант. chosen_option — id из map.options или null (defer). Нужна дата возврата: review_date или review_horizon_days. Возвращает card_id + journal_line с якорем. Закрытие исхода — close_decision_card, точность — prediction_calibration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNo
mapYes
formNo
seedNo
slugNo
ownerNo
map_pathNo
statementNo
session_idNo
assumptionsNo
review_dateNo
chosen_optionYes
reversibilityNo
situation_refNo
success_criterionNo
review_horizon_daysNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations the description carries the full burden and does well: it labels itself MUTATING, requires user consent, constrains invocation to once after a choice, and states the return (card_id + journal_line with anchor). It stops short of failure modes (e.g. what happens on a duplicate or missing map) and the exact side effects beyond writing the artifact.

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

Conciseness3/5

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

The action and artifact path are front-loaded, but the rest is a dense run-on that interleaves purpose, field semantics, invocation rules and sibling routing without any separation, making it harder to scan than it needs to be.

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 16-parameter, annotation-less, output-schema-less tool the description covers purpose, side-effect profile, output and alternatives well, yet the required parameter 'map' is never explained and nine parameters remain undescribed, leaving a real gap for correct invocation.

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

Parameters3/5

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

Schema description coverage is 0% across 16 parameters, so the description must compensate. It explains chosen_option (id from map.options or null), review_date / review_horizon_days, and the conceptual content of the card, but leaves n, form, seed, owner, map_path, statement, session_id, reversibility and situation_ref entirely undocumented, so it only partially covers the surface.

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

Purpose5/5

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

States a concrete verb and artifact: writes a Decision Card to decisions/<date>-<slug>.card.json capturing the decision moment, with the record's contents enumerated (UUID, prediction contract, assumptions, success criterion, review date). It is clearly distinguishable from save_decision_map (the map) and close_decision_card (the outcome).

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

Usage Guidelines5/5

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

Explicit when-to-use and when-not: 'call ONLY with user consent (Rule 0), ONCE after the user has chosen an option', plus the prerequisites (chosen_option id or null for defer; a needed review_date or review_horizon_days). It also routes to the sibling tools by function: close_decision_card for closing the outcome and prediction_calibration for accuracy.

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