feat: comprehensive codebase improvements (cleanup, logic, performance)

Code Cleanups:
- Consolidated PlanTaskStatus and TddPhase types to types.ts
- Standardized node: prefix for Node.js builtin imports
- Fixed timer type to NodeJS.Timeout in respawn-controller

Logic Improvements:
- Fixed AI check race condition with UUID tracking in respawn-controller
- Added comprehensive _isStopped guards in session timer callbacks
- Made RalphTracker reset events non-reentrant via process.nextTick()
- Improved SessionManager mutex pattern reliability

Performance Optimizations:
- Fixed pendingToolCalls memory leak with TTL cleanup in subagent-watcher
- Improved LRUMap.newest() from O(n) to O(1) with _newestKey tracking

Documentation:
- Enhanced README antiflicker section with 6-layer technical details

Version: 0.1441

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
arkon
2026-01-30 19:05:46 +01:00
co-authored by Claude Opus 4.5
parent ea81d94173
commit 20283019f4
17 changed files with 342 additions and 820 deletions
+8 -4
View File
@@ -166,9 +166,9 @@ export class StateStore {
JSON.parse(currentContent); // Validate
writeFileSync(backupPath, currentContent, 'utf-8');
}
} catch {
} catch (err) {
// Backup failed - current file may be corrupt, continue with write
console.warn('[StateStore] Could not create backup (current file may be corrupt)');
console.warn('[StateStore] Could not create backup (current file may be corrupt):', err);
}
// Step 3: Atomic write: write to temp file, then rename
@@ -191,7 +191,9 @@ export class StateStore {
if (existsSync(tempPath)) {
unlinkSync(tempPath);
}
} catch { /* ignore cleanup errors */ }
} catch (cleanupErr) {
console.warn('[StateStore] Failed to cleanup temp file during save error:', cleanupErr);
}
// Check circuit breaker threshold
if (this.consecutiveSaveFailures >= MAX_CONSECUTIVE_FAILURES) {
@@ -604,7 +606,9 @@ export class StateStore {
if (existsSync(tempPath)) {
unlinkSync(tempPath);
}
} catch { /* ignore cleanup errors */ }
} catch (cleanupErr) {
console.warn('[StateStore] Failed to cleanup temp file during Ralph state save error:', cleanupErr);
}
throw err;
}
}