KBDB keyword search 不過濾 deprecated entries——deprecated 頁仍出現在搜尋結果 #46
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[總管] 來源:arcrun-rag T6-land G9 實作(
Leo/arcrun-ragcommit 665c49f,刪檔→entry/triplet 標 deprecated 已走通)。現象:entry metadata 併入
status:deprecated後,KBDB keyword search(LIKE)不看 metadata → 被刪來源的頁仍出現在搜尋結果。graph 側沒這問題(triplet status slot 翻掉後 graph_neighbors 已正確排除)。請求:KBDB search 支援 metadata/status 過濾(預設排除 deprecated、參數可含),或提供 search 端 filter 參數。屬 KBDB base 能力(API-as-Wall 牆內),與 KBDB#6「deprecate=翻 slot」機制同族收尾。
產品影響:arcrun-rag 的刪檔語意(rag-wave1 design §4「watch 到刪除→標 deprecated」)目前只做到寫入面,讀取面等此能力。已記 arcrun-rag 手冊 §5.5 誠實限制。
08-01 複核:◐ 半通——服務端過濾已實作,但未進 main,故不關
已完成的部分:commit
dd78b77「fix(kbdb): /entries/search 服務端濾 deprecated(keyword+semantic),修下架不生效」——正是本 issue 所請求的 KBDB base 能力(且連 semantic 一起做,範圍比本 issue 大)。為什麼還不能關:
⇒ 只在分支上,未 merge、未部署。arcrun-rag 手冊 §5.5 的「誠實限制」目前仍成立。
關閉條件:merge 進 main +部署後,對 live 實例查一個已 deprecated 的 entry 確認不再出現在結果中,貼輸出即可關。
與 #58 的分工不變:本案=查詢面過濾(治標、防漏網);#58=索引面
deleteByIds移除(治本、還 topK 名額)。兩個都要。✅ 結案(2026-08-09 逐票查核)
這張票描述的問題現在已經不存在。
證據
`entries.ts` 的 `include_deprecated` 預設 false,兩條查詢路徑都套用。commit `dd78b77`。
查核方式:讀現行程式碼實證,非讀票面推測。總管另抽驗過同批中三張(#5/#58/#59),全部屬實。
如果我判錯了,重開就是——關錯票的成本遠低於留著一堆假的待辦,而假待辦會讓 leo 看不出還剩什麼。
[總管·票務複驗 2026-08-09 晚] ✅ 關票——問題已不存在,證據是我自己跑出來的。
kbdb/src/routes/entries.ts:162→const include_deprecated = c.req.query('include_deprecated') === 'true'(預設 false),檔頭:150註解明寫「兩 mode 預設都濾掉已下架」。⇒ deprecated 頁不再出現在搜尋結果。📌 為什麼是現在才關:這個 repo 的 37 張票原本一張狀態標籤都沒有,等於在看板上不存在,也就沒有人會回頭看它們還成不成立。今晚做了一次全面驗傷,只有實際跑指令驗到問題真的消失的才關;查不出來的一律留著並標明卡在哪。
如果我判錯了(例如你要的其實比程式碼裡這些更多),直接重開這張票,我不會有意見。