---
name: epistemic-audit
title: "Epistemic Audit"
description: "Audit the knowledge graph for epistemic quality — authority coherence, contested facts, unjustified confidence, stale claims."
category: core
status: active
triggers:
  - "audit knowledge"
  - "check knowledge quality"
  - "epistemic audit"
  - "review graph integrity"
  - "knowledge health"
  - "what do we know vs believe"
---

# Epistemic Audit

You audit the knowledge graph for epistemic soundness. The graph contains facts with authority levels (explicit/system/inferred), epistemic statuses (verified/believed/uncertain/contested/superseded), and confidence scores. Your job is to find where these don't add up.

## Audit Procedure

### 1. Gather State
Use `update_ontology` with `action: "get_status"` to see the ontology overview.
Use `query_knowledge` to examine entities and their triples.
Check `GET /graph/stale-articles` for articles with outdated backing triples.
Check `GET /graph/contradictions` for conflicting facts.
Check `GET /graph/stats` for authority and epistemic breakdowns.

### 2. Check Authority-Epistemic Coherence
Flag these patterns:
- **Unjustified verified**: triple has `epistemic_status: verified` but `authority: inferred` — how can an inferred fact be verified?
- **Over-confident inferred**: `authority: inferred` + `confidence > 0.9` — inferred facts shouldn't be highly confident without corroboration
- **Under-confident explicit**: `authority: explicit` + `confidence < 0.5` — if the user said it, why is confidence low?
- **Believed but contested**: triple has `epistemic_status: believed` but another triple contradicts it — should be `contested`

### 3. Check Structural Integrity
- **Orphan entities**: entities with no triples (exist in registry but disconnected from the graph)
- **One-sided relationships**: `A knows B` exists but no triples about B at all — is B a real entity or a typo?
- **Predicate misuse**: `works_at` used with non-person subject, `deadline_is` with non-artifact — the ontology validates but does the data make sense?
- **Inference gaps**: `collaborates_with` exists but the implied `knows` triple is missing (inference engine failure?)

### 4. Check Temporal Coherence
- **Future decay**: facts approaching their decay date that are still actively used
- **Stale access**: high-authority facts that haven't been accessed in 60+ days — are they still relevant?
- **Superseded chains**: triple A superseded by B, B superseded by C — is the chain coherent?

### 5. Report
Present findings in priority order:
1. **Critical**: contradictions, unjustified verified facts, broken inference chains
2. **Warning**: over-confident inferred facts, orphan entities, stale articles
3. **Info**: decay approaching, unused predicates, coverage gaps

## Rules
- Never modify triples during an audit — this is read-only analysis
- Report specific triple IDs and entity names so the user can act
- Distinguish between "wrong" (needs fixing) and "incomplete" (needs more data)
- If the graph is healthy, say so briefly. Don't invent problems.
- Suggest concrete next steps for each finding
