wiki: 落帳檢修孔第一版(embed selftest + diagnostics 端點 + 匯出按鈕)
記錄 2026-08-07 三個 commit(9344562/83aa1f6/5388f40)的狀態、端到端實測方式、 測試結果,以及未完成項(未 push GitHub 待 D20/Oscar 需自行按「立即更新」)。 一併誠實記錄收工時發現本機既有背景機制會把 commit 鏡到 Gitea(非本次操作觸發)。
This commit is contained in:
@@ -3,7 +3,7 @@ name: status
|
||||
description: 當前進度、進行中 Phase、已知問題、下一步(動態文件,每 session 更新)
|
||||
metadata:
|
||||
type: project
|
||||
last_updated: 2026-07-19
|
||||
last_updated: 2026-08-07
|
||||
---
|
||||
|
||||
# 當前進度(動態)
|
||||
@@ -15,6 +15,45 @@ metadata:
|
||||
|
||||
## 📍 當前位置
|
||||
|
||||
> **2026-08-07 晚(檢修孔第一版,local commit 未 push,main)**:leo 直接指令「先把檢修孔做出來
|
||||
> 發版,不必先知道 Oscar 的病是什麼」——解掉「查不出封測者的病,因為拿不到他那邊資料;拿不到
|
||||
> 資料是因為沒有檢修孔」的死結。**規格中途被 leo 簡化過一次**:從「免授權層/同意後才交」兩層
|
||||
> 機制,收斂成「設定頁一顆按鈕、按下去下載一個 JSON 檔、用戶自己把檔案傳出去」(同意天然內建
|
||||
> 在「他自己按、自己傳」這個動作裡)。
|
||||
>
|
||||
> **已完成(3 個 local commit,`matrix/arcrun`,sha `9344562`→`83aa1f6`→`5388f40`)**:
|
||||
> 1. `kbdb/src/embed.ts` `embedSelfTest()` + `GET /embed/selftest?owner_id=`——挑一筆已標記
|
||||
> 「已嵌入」的卡片拿自己的內容查自己,只回 `{enabled,tested,passed,note}`(不回內容/id)。
|
||||
> 這是唯一能分辨「從沒嵌過」vs「嵌了但 index 查不到自己」(Arcrun#11 那種故障)的方法,
|
||||
> 單看 backfillStatus 的 pending/embedded 計數看不出後者。
|
||||
> 2. `cypher-executor/src/routes/portal-data.ts` `GET /portal/data/diagnostics`——聚合
|
||||
> embed 健康狀態+`library_count`/`triplet_count`(只讀 `/map` 回應的數字,`narrative`/
|
||||
> `top_entities` 讀完即丟)+`bundle_version`+`instance_url`。沿用既有 `requirePortalUser`。
|
||||
> 3. `console-ui/public/portal/index.html` 設定頁「疑難排解」panel+「匯出診斷檔給我們看」按鈕。
|
||||
>
|
||||
> **端到端實測方式**(真跑不是模擬):本地起兩個真 `wrangler dev`(kbdb:18787/
|
||||
> cypher-executor:18788,local D1+KV,真的跑過 migrations),HTTP API 種一個 portal_user
|
||||
> +一筆 triplet_count=67 的 library_map;瀏覽器工具**真的登入、真的點按鈕**,Network 面板
|
||||
> 看到 `GET /portal/data/diagnostics → 200`,頁面狀態列顯示「已下載」。兩種故障情境(module
|
||||
> 未開/embedded=0;module 開了但 self_test.found_itself=false)都各自產出可判讀的 JSON,
|
||||
> 貼給 leo 核對過。
|
||||
>
|
||||
> **測試**:kbdb 12 新測試+既有 110 全綠;cypher-executor 3 新測試綠(既有 1 個 `/portal`
|
||||
> HTML 殼 404 失敗案用 `git stash` 驗證是既有問題非本次造成);console-ui 既有輕量測試
|
||||
> 18/18 綠。隱私紅線有機械測試守(斷言回應 JSON 不含卡片內容/entity 名/entry id)。
|
||||
>
|
||||
> **⏸ 未完成/待人**:**尚未 push GitHub**(D20 閘,需 leo 跑 `scripts/github-arm.sh`)→
|
||||
> push 後版本要走 `products/arcrun-rag/installer/scripts/release.mjs` 注版號 → Oscar 在他
|
||||
> 自己實例的設定頁按「立即更新」重跑安裝才會真的拿到這顆按鈕(self-hosted,不會自動生效)。
|
||||
> **這件事沒有 SDD**(leo 直接指令的臨時檢修孔,非任何 active SDD 的 task;`workflow-discovery`
|
||||
> 是目前唯一 active SDD,本次改動與它無關,屬於「有人閘直接授權」的例外路徑,未走 pending-changes
|
||||
> 提案流程——如需要補一份小 SDD 記錄,下個 session 可以評估)。
|
||||
>
|
||||
> **收工時意外發現**(誠實記錄):本機有既有背景機制會把 local commit 自動鏡到 Gitea
|
||||
> (`gitea/main` 在最後一次 commit 後幾秒就更新到同一個 sha,`git reflog` 時間戳對得上),
|
||||
> 全程沒有手動下過 `git push`。與 CLAUDE.md 記載的「Gitea 永 private,只有 GitHub 走 D20」
|
||||
> 模型一致,非本次操作觸發,僅供下個 session 知悉。
|
||||
|
||||
> **2026-07-28(t95+t96 搜尋缺陷修復,main)**:portal 搜尋兩缺陷修復——t95 CJK/ASCII
|
||||
> 邊界自動補空白(`normalizeCjkQuery`,查詢端,不動索引);t96 graph 節點精確 0 鄰居
|
||||
> → fuzzy fallback(`findBestNodeMatch`/`fuzzyFindNode`,contains 比對+最短名優先)。
|
||||
|
||||
Reference in New Issue
Block a user