Decision Intelligence
Treat decisions as first-class data. Capture context, find precedents, trace lineage, and learn from outcomes to build institutional memory.
The Decision Gap
The Decision Workflow
Decision Intelligence provides four MCP tools that work together to create a complete decision tracking system.
Log Decision
log_decisionCapture the decision with full context, rationale, and what informed it.
Find Precedent
find_precedentSearch for similar past decisions to ensure consistency and learn from outcomes.
Get Context
get_decision_contextTrace the full lineage of a decision - what informed it and what it led to.
Update Outcome
update_decision_outcomeRecord the result of the decision to build institutional knowledge.
Decision Memory Graph
Decisions create links to the memories that informed them and the outcomes that resulted. This creates a traceable graph of institutional knowledge.
informed_byWhat informed this decisionprecedent_forFuture decisions this guidescaused_byCausal relationshipsUse Cases
Policy Exception Tracking
Track when and why exceptions to standard policies are granted, building a knowledge base for future similar situations.
"Customer requested a discount outside policy. Logged as exception with rationale for customer retention."
Complete Workflow Example
// 1. Before making a decision, search for precedents
const precedents = await mcp.find_precedent({
situation: "Customer requesting refund after 60-day policy window",
outcomeWanted: "successful",
includeExceptions: true
});
// Returns similar past decisions with outcomes
// 2. Log the decision with context
const decision = await mcp.log_decision({
action: "approved_late_refund",
context: "Customer requested refund 75 days after purchase. Long-term customer with 3-year history.",
rationale: "Customer retention value exceeds refund cost. Similar precedent found.",
memoriesConsidered: ["mem_abc123", "mem_def456"], // From recall
isException: true,
exceptionType: "customer_loyalty",
setsPrecedent: true,
domain: "work",
importance: 8
});
// Returns: { memoryId: "mem_xyz789" }
// 3. Later, when you know the outcome
await mcp.update_decision_outcome({
decisionId: "mem_xyz789",
outcome: "successful",
outcomeNotes: "Customer renewed subscription. Revenue retained: $2,400/year."
});
// 4. Future: Trace the decision lineage
const context = await mcp.get_decision_context({
decisionId: "mem_xyz789",
includeChain: true,
includeReplay: true // Show what was known at decision time
});
// Returns full lineage: informedBy, ledTo, timeline- Decisions are stored as memories with special metadata
- Use
memoriesConsideredto link what informed the decision - Set
setsPrecedent: truefor decisions that should guide future choices - Always update outcomes to build institutional learning
- Use
find_precedentBEFORE making decisions for consistency