Problem
診斷 #33 時掃 gating 期間(2026-07-16 起 31 天)的 HTTP status 分佈,除了預期的 429,另外看到 1,544 筆 HTTP 400——而 plugin 目前沒有任何機制在看這個數字。
400 是 client 端錯誤(請求本身不合法)。跟 429 不同,重送一個 400 永遠不會成功,所以任何對 400 的重試都是 100% 純浪費。而實測顯示它確實是重試風暴的形狀:
| 叢集 |
期間 |
筆數 |
密度 |
| 2026-08-05 01:02 起 |
24.4 分鐘 |
396 |
~16 筆/分鐘 |
| 2026-07-29 07:07 起 |
29.5 分鐘 |
373 |
~13 筆/分鐘 |
| 2026-07-27 16:55 起 |
24.5 分鐘 |
198 |
~8 筆/分鐘 |
共 149 個叢集,最近一筆在 2026-08-17 10:55——現在進行式,不是歷史遺留。
model 分佈:claude-opus-5 1,442 / claude-fable-5 93 / claude-opus-4-8 9。
Type
feature
Expected
至少要能回答「這些 400 是什麼」。最小可行:proxy 對 400 的 response body 取樣記錄(error type / message),讓成因可辨識。之後才談要不要對它做任何事。
Actual
rate-state.jsonl 只記 status: 400,沒有任何 body 或 error type。所以現況只知道「有 1,544 筆」,不知道是什麼壞了。沒有任何 hook、nudge 或 report 消費這個數字。
Impact
Related
Source: surfaced during /idd-diagnose #33 sister concern surfacing (Step 3.6)
Priority: P3(推定——使用者未指定。純觀測性缺口、無立即壞損,且成因未明前無法評估嚴重度。)
Problem
診斷 #33 時掃 gating 期間(2026-07-16 起 31 天)的 HTTP status 分佈,除了預期的 429,另外看到 1,544 筆 HTTP 400——而 plugin 目前沒有任何機制在看這個數字。
400 是 client 端錯誤(請求本身不合法)。跟 429 不同,重送一個 400 永遠不會成功,所以任何對 400 的重試都是 100% 純浪費。而實測顯示它確實是重試風暴的形狀:
共 149 個叢集,最近一筆在 2026-08-17 10:55——現在進行式,不是歷史遺留。
model 分佈:
claude-opus-51,442 /claude-fable-593 /claude-opus-4-89。Type
feature
Expected
至少要能回答「這些 400 是什麼」。最小可行:proxy 對 400 的 response body 取樣記錄(error type / message),讓成因可辨識。之後才談要不要對它做任何事。
Actual
rate-state.jsonl只記status: 400,沒有任何 body 或 error type。所以現況只知道「有 1,544 筆」,不知道是什麼壞了。沒有任何 hook、nudge 或 report 消費這個數字。Impact
Related
Source: surfaced during /idd-diagnose #33 sister concern surfacing (Step 3.6)
Priority: P3(推定——使用者未指定。純觀測性缺口、無立即壞損,且成因未明前無法評估嚴重度。)