Problem
DocxReader.read(from:) 把解壓後的 tempDir 所有權交給回傳的 WordDocument.preservedArchive,並明寫「Caller MUST call doc.close()」。resolveDocument(args:) 的 Direct Mode 分支(source_path)讀完就回傳、從不 close();18 個支援 Direct Mode 的唯讀工具每次呼叫都在 $TMPDIR/che-word-mcp/ 留下一個完整解壓的目錄,直到 process 結束(#199 verify R2 logic lens 實測 8 次 Direct list_images → 8 個目錄)。長時間執行的 server 對大檔重複 Direct 呼叫會累積磁碟佔用。
#199 的 fix round 2 只在 list_images 自己的 Direct 分支補 close();本 issue 追蹤 resolveDocument 共用路徑(要在每個 Direct 工具用完 doc 之後 close,或改成 withDirectDocument { } 形狀)。
Type
bug
Expected
Direct Mode 的文件在工具回傳前 close();$TMPDIR/che-word-mcp/ 在呼叫後不增長。
Actual
每次 Direct 呼叫漏一個 tempDir。
Source: surfaced during /idd-verify #199 R2 (Step 5b follow-up triage). Verify report: PR #218 (Verify R2 comment)
Refs #199
Problem
DocxReader.read(from:)把解壓後的 tempDir 所有權交給回傳的WordDocument.preservedArchive,並明寫「Caller MUST calldoc.close()」。resolveDocument(args:)的 Direct Mode 分支(source_path)讀完就回傳、從不close();18 個支援 Direct Mode 的唯讀工具每次呼叫都在$TMPDIR/che-word-mcp/留下一個完整解壓的目錄,直到 process 結束(#199 verify R2 logic lens 實測 8 次 Directlist_images→ 8 個目錄)。長時間執行的 server 對大檔重複 Direct 呼叫會累積磁碟佔用。#199 的 fix round 2 只在
list_images自己的 Direct 分支補close();本 issue 追蹤resolveDocument共用路徑(要在每個 Direct 工具用完 doc 之後 close,或改成withDirectDocument { }形狀)。Type
bug
Expected
Direct Mode 的文件在工具回傳前
close();$TMPDIR/che-word-mcp/在呼叫後不增長。Actual
每次 Direct 呼叫漏一個 tempDir。
Source: surfaced during /idd-verify #199 R2 (Step 5b follow-up triage). Verify report: PR #218 (Verify R2 comment)
Refs #199