fix(portal): 檢修孔 library_count/triplet_count 恆 0 的根因+加統計自我檢查
真因:/portal/data/diagnostics 讀 GET /map,那是 library_map 快取 block,只能 靠 POST /map/recompute 產生;核實過整個 repo 沒有任何呼叫點會打 /map/recompute (library-map SDD 的 ingest 自動重算 M3 從沒接上,status: draft)。⇒ /map 對任何 租戶恆回空 libraries,與實際資料量無關——2026-08-07 leo 實測抓到:3 庫、大量 triplets,診斷檔卻回 0/0。 修法:改走 GET /portal/admin/libraries 已在用、驗證過的即時查詢組合(不依賴任何 快取):listRecordsByTemplate(portal_library) + /entries/libraries(t52 蓋章即 現身)+ /records/triplet-stats(t142 即時聚合 SQL)。 附帶:加 library_scope_check 統計自我檢查(呼應 embedding.self_test 的精神)。 兩個計數都是 0 時,用完全不同的查詢路徑(不分庫/模板,只問這個租戶底下有沒有 任何 entries)交叉驗證,區分「真的是空」與「查詢方式或 owner_id 對不上」 (2026-08-01 t161 前科同型病:手動補的 record owner_id 存成 None,全量查得到、 按 owner_id 過濾的畫面永遠空)。 三個 diagnostics 測試全綠:即時查對出正確 library_count/triplet_count(且不再 外流庫名/內容,只回數字)、真空情境自我探測誠實回空、t161 同型病情境自我探測抓到 「查得到但統計回 0」的矛盾。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -38,7 +38,7 @@ const LOCK_TTL_SECONDS = 15 * 60; // 鎖 15 分鐘(KV TTL 自然過期)
|
||||
const DEFAULT_SESSION_TTL = 604800; // 7 天(design §4.3,比 console 30 天緊)
|
||||
|
||||
const USER_TEMPLATE = 'portal_user';
|
||||
const LIBRARY_TEMPLATE = 'portal_library';
|
||||
export const LIBRARY_TEMPLATE = 'portal_library';
|
||||
|
||||
// ── 基礎 helpers ────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
Reference in New Issue
Block a user