Ontology Augmented Generation · Neurosymbolic Architecture
Dialectica is the TACITUS core engine — the neurosymbolic context backend for conflict intelligence. Standard AI treats disputes as text to summarize. Dialectica treats them as structured systems to reason about — a typed knowledge graph that makes conflicts legible to machines and auditable by the professionals who resolve them.
Named after the ancient art of reasoned dialogue, Dialectica goes beyond retrieval (RAG) and entity linking (GraphRAG) to provide Ontology Augmented Generation — a conflict-specific ontology grounded in 30+ theoretical frameworks that preserves temporality, causality, and provenance. The engine that powers every TACITUS product.
Every event timestamped. Every claim version-stamped. The graph reconstructs what was said, when, in what sequence.
Not "A then B" but "A caused B via mechanism M." The difference between a log and intelligence.
Every assertion traces to a source document, timestamp, and actor. A full audit trail by design.
The Real Problem
The hardest questions in conflict resolution are structural, temporal, and relational. They require connecting versioned claims across time — not retrieving similar text chunks.
“Did the manager’s behavior escalate after the complaint was filed, or was the pattern already present?”
“Which commitments did Party B acknowledge in writing that they later denied agreeing to?”
“Which parties shifted position on water rights after March, and did new coalitions form?”
“Beneath the property arguments, what does each sibling actually need — and where is there overlap?”
Beyond RAG
RAG retrieves similar text chunks — good for fact lookups, catastrophic for conflict. GraphRAG adds entity connections — better, but no domain structure. Ontology Augmented Generation — the TACITUS approach — anchors everything in a conflict-specific ontology built from 30+ theoretical frameworks.
| Capability | Vector RAG | GraphRAG | TACITUS OAG |
|---|---|---|---|
| Multi-hop reasoning | ✗ Retrieval window | ◐ Entity traversal | ✓ Typed relation traversal across actors, claims, events |
| Temporal awareness | ✗ Time flattened | ◐ If metadata preserved | ✓ DAG-preserved ordering. Version-stamped claims. |
| Causal chains | ✗ Correlations only | ◐ If manually encoded | ✓ Typed edges: TriggeredBy, EscalatedFrom, BlockedBy |
| Position vs. Interest | ✗ Not a concept | ✗ Not a concept | ✓ Core ontology distinction (Fisher/Ury) |
| Contradiction detection | ✗ Invisible | ◐ Deduplication | ✓ Explicit conflicting Claims per Actor with provenance |
| Escalation tracking | ✗ Not a concept | ✗ Not a concept | ✓ Glasl 9-stage model. Computed escalation level. |
| Provenance / audit | ✗ Chunk-level | ◐ Entity-level | ✓ Node-level: assertion → source, timestamp, extractor |
| Domain reasoning | ✗ Generic | ◐ General entities | ✓ 8 primitives, 41+ classes, 30+ theory frameworks |
How It Works
Load documents, transcripts, emails, case notes. LLMs identify actors, claims, events, evidence. Extraction only — the LLM is a pattern recognizer, and that’s exactly what we use it for.
The Agentic Conflict Ontology applies type binding, relation mapping, temporal ordering, and provenance linking. Every node typed against the 8-primitive Conflict Grammar. This is where structure becomes intelligence.
Graph-native storage. API-queryable. Deterministic on keyed facts. LLM-groundable on open questions. The graph never hallucinates. The LLM never flies blind.
The Agentic Conflict Ontology
Not generic NLP categories — the reasoning patterns of trained conflict professionals, grounded in Fisher/Ury, Galtung, Glasl, Lederach, and 30+ theoretical frameworks.
Principal, Agent, VetoPlayer, BridgeActor, Mediator — typed roles, not just “person mentioned”
Position, Interest, RedLine, BATNA — what actors assert, need, and won’t concede
The need beneath the position. Per Fisher/Ury: interests unlock resolution
Legal, institutional, temporal limits that bound the solution space
Asymmetric power — who can compel action and through what mechanism
Promises and obligations tracked over time with version-stamped provenance
Timestamped occurrences with typed causal links — the atoms of the timeline
Competing stories about the same events. Divergence reveals where mediation begins.
# Position vs. Interest — the core distinction in negotiation theory
from tacitus_ontology import Actor, Claim, CausalEdge
position = Claim(type=ClaimType.POSITION, text="I need a private office")
interest = Claim(type=ClaimType.INTEREST, text="Needs quiet for focused work",
evidence_ids=["doc-042"], confidence=0.87)
# Same person. The position blocks. The interest unlocks.
escalation = CausalEdge(
type=CausalRelation.ESCALATED_FROM,
source="event-complaint-001", target="event-grievance-002",
mechanism="Perceived retaliation after informal complaint dismissed")Dialectica — Work in Progress
We're building in public from NYC. Try the Dialectica engine, explore the open-source pipelines, or read the research.