diff --git a/doc/concurrency-resource-audit.md b/doc/concurrency-resource-audit.md index 1816fc2..9194c61 100644 --- a/doc/concurrency-resource-audit.md +++ b/doc/concurrency-resource-audit.md @@ -292,11 +292,9 @@ Completion notifications now use the toolsrv run context with a ten-second timeo ### M15. `DismissProc` and process GC can lose cleanup ownership -**Evidence:** `cmd/toolsrv/internal/server/proc.go:454-516`. +**Status:** Resolved by the existing process lifecycle safeguards. -Dismissal removes a process from tracking, while GC only removes exited processes after output is read. Abandoned completed processes therefore retain output until an explicit read, and dismissed running processes evade cleanup. - -**Remediation:** enforce a process state machine and absolute retention TTL. +`DismissProc` refuses to remove running processes, preserving shutdown visibility. Process GC removes exited processes after an absolute `EndTime` TTL as well as after an old output read, so abandoned completed processes cannot retain output indefinitely. ### M16. Remote and local socket paths are not cleaned on abnormal startup