Conflict & Entropy
Contradictions are inevitable. The conflict system detects, tracks, and helps resolve them while monitoring overall knowledge consistency.
How Conflicts Are Detected
At L3, every new claim is checked against existing memories using a three-stage process:
- Vector similarity — cosine similarity ≥ 0.85 with same subject
- Keyword overlap — matching subject + predicate combinations
- Semantic check — LLM-based contradiction detection for ambiguous cases
Conflict Lifecycle
New claim arrives
│
├─ No conflict found → store normally
│
└─ Conflict detected
│
├─ Old claim → tier changes to CHALLENGED
├─ New claim → stored at computed tier
├─ Both get conflictGroup link
├─ Entropy increases
│
└─ Resolution:
├─ Manual: epistemic_resolve (keep old/new/both)
├─ Auto: conflictAutoResolve=true → higher confidence wins
└─ Timeout: unresolved conflicts generate health alertsSystem Entropy
Entropy measures the overall contradiction density in the knowledge base:
E = challenged_count / total_count
Entropy levels:
| Level | Range | Status | Action |
|---|---|---|---|
| 🟢 Healthy | 0.00–0.05 | Normal | No action needed |
| 🟡 Warning | 0.05–0.15 | Elevated | Review challenged claims |
| 🔴 Critical | > 0.15 | Dangerous | Pipeline may halt new stores |
Resolution Strategies
Manual Resolution
{
"tool": "epistemic_resolve",
"input": {
"conflictId": "conflict_abc123",
"keep": "new" // "old" | "new" | "both"
}
}Auto-Resolution
When conflictAutoResolve: true, the system automatically:
- Compares confidence scores of conflicting claims
- Keeps the higher-confidence claim
- Revokes the lower-confidence claim
- Logs the resolution in the audit trail
Conflict Groups
Related contradictions are linked via conflictGroup IDs. This allows:
epistemic_diffto show all claims in a conflict groupepistemic_explainto trace the conflict history- Batch resolution of related contradictions