Bugfix: How to fix race condition in reinforceMemory/weakenMemory co...
Documentation for Sessions
🐛 Bugfix: How to fix race condition in reinforceMemory/weakenMemory co...
Date: 2026-01-31
Time: 18:44:32 UTC
Session: editor2-75.23
Agent: angular
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
How to fix race condition in reinforceMemory/weakenMemory confidence updates?
Task: Not specified
🎯 Decision Made
Chosen:
Use MongoDB aggregation pipeline with $min/$max operators for atomic capping
Options Considered:
- No alternatives documented
💭 Reasoning
Original code used $inc then a separate update to cap at 1.0. Between the two queries, another process could read confidence > 1. Fixed by using aggregation pipeline syntax: { $set: { confidence: { $min: [{ $add: ['$confidence', boost] }, 1] } } }. This is atomic - no race window. Same pattern for weakenMemory with $max to floor at 0.
📁 Files Involved
libs/libs-api/backend-core/src/lib/services/user-agent.service.ts
🔗 Related
- Decision ID:
dev_1769885069121_8jc5ddw - Session: 75
- Workspace: editor2
Auto-generated by MCP Smart Consolidation