Contradiction Auditing: Conflicts Are Auditable States, Not Overwrites
When two memories disagree, most systems let the newest one win. Corsoul lets the evidence decide.
The longer an agent runs, the more its memory fills with contradictions. A user changes their mind, an external source is wrong, the same fact has different versions at different times, or someone deliberately feeds in bad information. The problem isn't that conflicts happen — they always will — it's what the system does about them.
For most memory systems the default answer is overwrite: the new value comes in, the old value disappears. That's fine for a cache and dangerous for long-term memory, because it treats a single observation as unconditional truth. One mistyped date, one offhand remark, one dirty record is enough to erase a memory that was correct — and it does so without a trace. By the time you notice, the truth is already gone.
Corsoul's stance on this is simple: a conflict is not an error to be erased. It's a state to be adjudicated.
Overwriting quietly loses the truth
Say an agent remembers that a user prefers morning meetings. Three months later, that person says in passing, "let's do this afternoon instead." In an overwrite system, that one sentence rewrites the preference — a one-off exception mistaken for a lasting reversal.
The real loss isn't just that this record is now wrong. It's that you've lost the ability to judge. Once the old value is deleted, the system can no longer see the contrast — "morning every time, afternoon only once." It can't tell a genuine shift from noise, a changed habit from a busy Tuesday. Every piece of context that would let it reach the right conclusion was thrown away the moment it overwrote.
At its core, overwriting passes off "most recent in time" as "strongest in evidence." Those two are frequently not the same thing.
Keeping conflicts as auditable records
Corsoul's structured memory layer (L1) keeps each fact's time, source, domain, and version. When new information fails to line up with an existing memory, the system doesn't wipe the old one — it records the contradiction, tagging what kind of conflict it is and linking it to the related memories.
Contradictions come in several forms, and Corsoul treats them distinctly:
- Attribute conflicts — the same thing described inconsistently (morning vs. afternoon).
- Source conflicts — different sources asserting mutually exclusive claims.
- Temporal conflicts — orderings or timestamps that don't reconcile.
- Identity conflicts — two memories conflating one subject, or splitting what should be one.
- Pattern conflicts — a new observation that runs against an established abstract trend.
The point is that all of these are preserved along with their evidence. The old memory stays, the new memory stays, and the tension between them is recorded explicitly as an unsettled state instead of being quietly swallowed by one side. Any later retrieval can see that this memory is currently contested, rather than handing back an answer that looks clean but has already been poisoned.
Adjudication takes confidence — and rounds of evidence
Recording the conflict is only the first step. Corsoul won't leave contradictions unresolved forever, but its bar for reversing a memory is enough confidence plus sustained evidence across multiple rounds — never a single observation.
That's exactly the safeguard against the trap above. An isolated anomaly — a slip of the tongue, a dirty record, a malicious injection — should not have the power to overturn long-accumulated, trusted memory. To rewrite a memory that already holds up, the new claim has to appear not once but repeatedly, corroborated from sufficiently credible sources. When the evidence genuinely accumulates, the memory updates on its own; until then, the conflict stays auditable, with both sides visible.
In other words, Corsoul replaces "last writer wins" with "the evidence has to be strong enough, and last long enough." A single anomaly can't poison trusted memory — but real change isn't kept out indefinitely either.
Auditing: making contradiction review part of consolidation
Contradiction review isn't a side feature you have to trigger by hand. It's woven into Corsoul's memory consolidation (the paid engine). Consolidation roughly encodes new events, links them to existing memories, and distills patterns from them — and then gives the consolidated memory a cross-layer review that surfaces semantic contradictions.
Running that review at the end of consolidation is deliberate: once the memory has been organized, the system has enough context to see what a new fact actually conflicts with. A memory might contradict one concrete fact, or it might contradict a higher-level trend — and the review surfaces both together, leaving them as auditable states, so memory grows more honest with each round of consolidation rather than just more cluttered.
This also dovetails with Corsoul's bounded belief revision (beliefs are resilient, but sustained evidence still changes them). At the higher personality tiers, beliefs that are highly self-relevant carry resilience — they don't loosen at the first counter-example, and change is delayed. But delayed is not immune: as evidence keeps accumulating, it eventually wins. Personality growth stays constrained by core values and sustained evidence, a boundary that rules out both flip-flopping and stubbornness.
Memory has to be auditable to be trustworthy
Memory that silently overwrites only grows more suspect with age: you can never be sure whether a given answer is the truth or a scar left by some accident. Corsoul inverts that — every conflict becomes a state you can inspect, adjudicate, and reverse only with evidence. That's what long-term memory should look like.
Corsoul is local-first and free to start: the free tier gives you offline-capable, production-ready objective memory. When you need memory that learns associations, lets patterns emerge, audits itself during consolidation, and grows within bounds, you upgrade the personality engine. Start free — and make memory worth trusting.
Memory becomes experience. Experience becomes a self.