問題
Sources/CheWordMCP/Server.swift:8089(head a39253d):set_table_style 在沒有任何樣式變更時先呼叫 storeDocument、再回傳「No style changes applied」——isError 未設、也不是 Error: 字串,所以 #202 的轉換與 sweep 都看不到它。這是 #201 / #172 那一族(回報成功但東西不在)的變體:不是謊稱做了,而是把「什麼都沒做」包成 success,且還把文件標成 dirty。
要做的事
Source: surfaced during /idd-verify #202 (Step 5b) — security S4; report: #213 (comment)
問題
Sources/CheWordMCP/Server.swift:8089(head a39253d):set_table_style在沒有任何樣式變更時先呼叫storeDocument、再回傳「No style changes applied」——isError未設、也不是Error:字串,所以 #202 的轉換與 sweep 都看不到它。這是 #201 / #172 那一族(回報成功但東西不在)的變體:不是謊稱做了,而是把「什麼都沒做」包成 success,且還把文件標成 dirty。要做的事
ToolRefusal("set_table_style: no style properties given")(與 拒絕/錯誤以return "Error: …"字串回傳時 MCPisError未設——協定層仍是成功(repo-wide 慣例) #202 慣例一致),要嘛回一個明確的 no-op 結果且不storeDocument;二選一,不要現在這種「存了、但說沒改」。handleToolCall)。storeDocument再回「No … applied / nothing to do」的 handler。Source: surfaced during /idd-verify #202 (Step 5b) — security S4; report: #213 (comment)