This repository was archived by the owner on May 23, 2026. It is now read-only.
Repository navigation
v0.7.5 — Concurrency Audit & Deadlock Fixes
Critical Fixes
- RWMutex deadlock:
restartGuardians()held write lock and calledGetTools()which tried RLock — deadlocked on every startup, causing complete app unresponsiveness - Guardian Start() hang: 15-second timeout prevents indefinite block when MCP server doesn't respond
- HTTP connection timeout: 10-second dial timeout surfaces unreachable API servers quickly
Comprehensive Session Concurrency
Full audit of all session.Records access sites. sessionMu now protects:
buildMessages(snapshot-copy pattern)generateTitleIfNeeded/compactMemoryIfNeeded/extractPinnedMemories(read→unlock→LLM→lock→write)listImagesTool/createReportTool/autoSave/GetLLMStatus
Structured Logging
New internal/logger package: component-tagged, severity-leveled, dual output (stderr + app.log with 10MB rotation). All fmt.Printf removed.
Full changelog: https://github.com/nlink-jp/shell-agent/blob/main/CHANGELOG.md