Docs/Concepts/Decision Intelligence

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

Without Decision Intelligence
Before
Customer context
? Gap ?
After
Action taken
With Decision Intelligence
Before
Customer context
Decision
Context + Rationale
After
Action taken

The Decision Workflow

Decision Intelligence provides four MCP tools that work together to create a complete decision tracking system.

1

Log Decision

log_decision

Capture the decision with full context, rationale, and what informed it.

actioncontextrationalememoriesConsideredsetsPrecedent
2

Find Precedent

find_precedent

Search for similar past decisions to ensure consistency and learn from outcomes.

situationoutcomeWantedincludeExceptions
3

Get Context

get_decision_context

Trace the full lineage of a decision - what informed it and what it led to.

decisionIdincludeChainincludeReplay
4

Update Outcome

update_decision_outcome

Record the result of the decision to build institutional knowledge.

decisionIdoutcomeoutcomeNotes

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.

Customer history
Previous decisions
Policy precedents
memoriesConsidered
Decision
action: approved_discount
rationale: customer_retention
isPrecedent: true
Customer renewed
Outcome: successful
ledTo / outcome
informed_byWhat informed this decision
precedent_forFuture decisions this guides
caused_byCausal relationships

Use Cases

Policy Exception Tracking

Track when and why exceptions to standard policies are granted, building a knowledge base for future similar situations.

Example

"Customer requested a discount outside policy. Logged as exception with rationale for customer retention."

Complete Workflow Example

MCP Tool Usage
// 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