0.134.36
Fixed (MEDIUM §4.1 Agent — 23 задач, см. docs/audit/backend-2026-06.md §4.1)
- M-A-1 Убран лишний
GetRecentMessagesпосле сохранения ответаask_user— аппенд вместо re-fetch. - M-A-3
repairToolPairsO(N²) → O(N) черезmap[string]boolдля tool result ID. - M-A-5
enforceMemoryContextBudget— бюджет divisor вынесен в именованную константу. - M-A-6
enforceMemoryContextBudget—memory_contextвнутри tool-pair не удаляется. - M-A-8
DeleteSummaryBeforeошибка логируется черезslog.Errorвместо_ =. - M-A-9
SaveActorCheckpoint— retry (1 попытка, 100ms backoff) при ошибке. - M-A-11
streamHook.publish— сохраняет caller’s Channel/ChatID если они непустые. - M-A-14
loadIdleTimeoutиспользуетactorCtxвместоcontext.Background(). - M-A-16
AfterIteration/OnSubagentCompleted— DB-операции через timeout context (10s). - M-A-17
maybeRealtimeExtract—GetAgentчерез timeout context (5s). - M-A-18
handleCompact/handleClear— tracked goroutines черезrunWG+runCtx-derived context. - M-A-20
AsyncAddMessageвозвращает ошибку при drop (channel full) вместо silent discard. - M-A-21
runStream—streamIdleTimeoutчитается один раз перед циклом. - M-A-22
runStream— приctx.Done()/idle timeout drain-горутина потребляет остаток канала. - M-A-23 Concurrent tool batch —
batchCtxсbatchCancel()при первой ошибке.
Ранее исправлены (предыдущие PR)
- M-A-2
json.Unmarshaltool_calls — ошибка логируется черезslog.Warn. - M-A-7
resolveSummaryприprovider == nil—slog.Warn. - M-A-10
pruneToolResults— debounce (300s) черезlastPruneAt atomic.Int64. - M-A-12
spawnTrack— все доступы подiterMu. - M-A-13
ListActorPendingMsg— ошибка проверяется и логируется. - M-A-15
pruneToolResults— собственный timeout context (10s). - M-A-19
Stop()— вызываетrunCancel()и отправляетmsgShutdownакторам.