An open-source system of record for AI-agent decisions: it captures what each decision relied on, replays it against live state, and rolls back the committed action when it no longer holds.
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. get_order and refund_order have minimal descriptions (18-27 chars, below 20-char threshold). approve_payment lacks clarity on what 'fits within' means. No parameter descriptions visible for any tool. No output schemas documented. No error guidance or recovery paths. Tool names follow verb_noun pattern (positive), but descriptions are too terse to guide LLM selection effectively.
Approve a payment only when it fits within the supplied budget.
Look up one order.
Refund an order; fails over the 100.0 cap.
Tool descriptions are critically short (18-27 chars). 'Look up one order' and 'Refund an order; fails over the 100.0 cap' lack context for LLM selection. Baseline is 194 chars; these are 90% below target.
No parameter descriptions visible. 'order_id', 'amount', 'budget' lack explanations of format, constraints, or valid ranges. LLMs cannot infer whether 'amount' is cents or dollars, or whether 'budget' is a hard cap or soft limit.
No output schemas documented. Callers do not know what fields get_order returns, whether refund_order returns a confirmation, or what approve_payment yields. This breaks tool chaining and forces LLMs to guess.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
No error handling or recovery guidance. refund_order 'fails over the 100.0 cap', but the description does not explain what error is returned, whether it is retryable, or what the LLM should do next.
approve_payment description is vague: 'Approve a payment only when it fits within the supplied budget.' Does 'fits within' mean amount <= budget, or is there rounding/tax logic? No enum or constraint on the decision outcome.