KBDB keyword search 不過濾 deprecated entries——deprecated 頁仍出現在搜尋結果 #46

Closed
opened 2026-07-12 16:53:48 +00:00 by Leo · 3 comments
Owner

[總管] 來源:arcrun-rag T6-land G9 實作(Leo/arcrun-rag commit 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 誠實限制。

[總管] 來源:arcrun-rag T6-land G9 實作(`Leo/arcrun-rag` commit 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 誠實限制。
Author
Owner

08-01 複核:◐ 半通——服務端過濾已實作,但未進 main,故不關

已完成的部分:commit dd78b77「fix(kbdb): /entries/search 服務端濾 deprecated(keyword+semantic),修下架不生效」——正是本 issue 所請求的 KBDB base 能力(且連 semantic 一起做,範圍比本 issue 大)。

為什麼還不能關

$ git branch -a --contains dd78b77
fix/kbdb-search-deprecated-t24, batch/step3456-20260801, feat/step3~6 …
(gitea/main 不在其中)

⇒ 只在分支上,未 merge、未部署。arcrun-rag 手冊 §5.5 的「誠實限制」目前仍成立。

關閉條件:merge 進 main +部署後,對 live 實例查一個已 deprecated 的 entry 確認不再出現在結果中,貼輸出即可關。

#58 的分工不變:本案=查詢面過濾(治標、防漏網);#58=索引面 deleteByIds 移除(治本、還 topK 名額)。兩個都要。

## 08-01 複核:◐ 半通——服務端過濾已實作,**但未進 main,故不關** **已完成的部分**:commit `dd78b77`「fix(kbdb): /entries/search 服務端濾 deprecated(keyword+semantic),修下架不生效」——正是本 issue 所請求的 KBDB base 能力(且連 semantic 一起做,範圍比本 issue 大)。 **為什麼還不能關**: ``` $ git branch -a --contains dd78b77 fix/kbdb-search-deprecated-t24, batch/step3456-20260801, feat/step3~6 … (gitea/main 不在其中) ``` ⇒ 只在分支上,未 merge、未部署。arcrun-rag 手冊 §5.5 的「誠實限制」目前仍成立。 **關閉條件**:merge 進 main +部署後,對 live 實例查一個已 deprecated 的 entry 確認不再出現在結果中,貼輸出即可關。 **與 #58 的分工不變**:本案=查詢面過濾(治標、防漏網);#58=索引面 `deleteByIds` 移除(治本、還 topK 名額)。兩個都要。
Author
Owner

結案(2026-08-09 逐票查核)

這張票描述的問題現在已經不存在

證據
`entries.ts` 的 `include_deprecated` 預設 false,兩條查詢路徑都套用。commit `dd78b77`。

查核方式:讀現行程式碼實證,非讀票面推測。總管另抽驗過同批中三張(#5/#58/#59),全部屬實。

如果我判錯了,重開就是——關錯票的成本遠低於留著一堆假的待辦,而假待辦會讓 leo 看不出還剩什麼。

## ✅ 結案(2026-08-09 逐票查核) 這張票描述的問題**現在已經不存在**。 **證據** \`entries.ts\` 的 \`include_deprecated\` 預設 false,兩條查詢路徑都套用。commit \`dd78b77\`。 查核方式:讀現行程式碼實證,非讀票面推測。總管另抽驗過同批中三張(#5/#58/#59),全部屬實。 如果我判錯了,重開就是——**關錯票的成本遠低於留著一堆假的待辦**,而假待辦會讓 leo 看不出還剩什麼。
Leo closed this issue 2026-08-09 13:08:31 +00:00
Author
Owner

[總管·票務複驗 2026-08-09 晚] 關票——問題已不存在,證據是我自己跑出來的。

kbdb/src/routes/entries.ts:162const include_deprecated = c.req.query('include_deprecated') === 'true'預設 false),檔頭 :150 註解明寫「兩 mode 預設都濾掉已下架」。⇒ deprecated 頁不再出現在搜尋結果。


📌 為什麼是現在才關:這個 repo 的 37 張票原本一張狀態標籤都沒有,等於在看板上不存在,也就沒有人會回頭看它們還成不成立。今晚做了一次全面驗傷,只有實際跑指令驗到問題真的消失的才關;查不出來的一律留著並標明卡在哪。
如果我判錯了(例如你要的其實比程式碼裡這些更多),直接重開這張票,我不會有意見。

[總管·票務複驗 2026-08-09 晚] ✅ **關票——問題已不存在,證據是我自己跑出來的。** `kbdb/src/routes/entries.ts:162` → `const include_deprecated = c.req.query('include_deprecated') === 'true'`(**預設 false**),檔頭 `:150` 註解明寫「兩 mode 預設都濾掉已下架」。⇒ deprecated 頁不再出現在搜尋結果。 --- 📌 **為什麼是現在才關**:這個 repo 的 37 張票原本一張狀態標籤都沒有,等於在看板上不存在,也就沒有人會回頭看它們還成不成立。今晚做了一次全面驗傷,**只有實際跑指令驗到問題真的消失的才關**;查不出來的一律留著並標明卡在哪。 如果我判錯了(例如你要的其實比程式碼裡這些更多),直接重開這張票,我不會有意見。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Leo/Arcrun#46