ruvnet/ruflo · error
Contradiction detected: ${patterns[i].id} vs ${patterns[j].i
Error message
Contradiction detected: ${patterns[i].id} vs ${patterns[j].id} What it means
Log warning during reasoning-bank consolidation: two stored patterns are highly similar (above contradictionThreshold) yet their recorded outcomes differ — a knowledge contradiction flagged for analysis, deliberately not auto-removed.
Source
Thrown at v3/@claude-flow/neural/src/reasoningbank-adapter.ts:415
for (let j = i + 1; j < patterns.length; j++) {
if (toRemove.has(patterns[j].id)) continue;
const similarity = this.cosineSimilarity(
patterns[i].embedding,
patterns[j].embedding
);
const outcome1 = patterns[i].patternData.source.outcome;
const outcome2 = patterns[j].patternData.source.outcome;
if (
similarity >= this.config.contradictionThreshold &&
outcome1 !== outcome2
) {
contradictionsFound++;
// Log contradiction for analysis (don't auto-remove)
console.warn(`Contradiction detected: ${patterns[i].id} vs ${patterns[j].id}`);
}
}
}
// Step 3: Prune old, low-confidence patterns
const now = Date.now();
const maxAge = this.config.pruneAgeDays * 24 * 60 * 60 * 1000;
for (const pattern of patterns) {
if (toRemove.has(pattern.id)) continue;
const age = now - pattern.createdAt;
if (
age > maxAge &&
pattern.confidence < this.config.minConfidenceKeep &&
pattern.usageCount < 3
) {
toRemove.add(pattern.id);View on GitHub (pinned to fa13ee4ad6)
Solutions
- Review the two contradicting patterns named in the message and resolve or remove one of them.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/@claude-flow/neural/src/reasoningbank-adapter.ts:415 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/9524a49d57291e52.
Report an issue: GitHub.