Files
Arcrun/system-dev/wiki/status.md
T
uncle6me-web e36cd2d990 fix(t95+t96): 查詢 CJK 邊界自動補空白+圖譜節點模糊命中
leo 07-28 實測:「AI協作」(無空白)搜不到;圖譜搜「AI 協作」0 鄰居但總圖有
「AI 協作規範書」節點(「這個搜尋詞來自 Graph View 的一部分,居然搜不到?」)。
- normalizeCjkQuery:CJK↔ASCII 邊界插空白,search q 與 graph 節點名都過
- fuzzyFindNode:精確 0 鄰居時 fallback contains 比對(取最短命中)重查
測試 +18 全綠(vitest 197 passed;9 個既有紅=console HTML 搬遷陳舊測試,與本案無關,
stash 基線對照確認)。B5 分支衝突面已查:僅 line 274 一行。
(實作=子 CC;驗證+commit=總管)
2026-07-28 15:06:07 +08:00

353 lines
45 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: status
description: 當前進度、進行中 Phase、已知問題、下一步(動態文件,每 session 更新)
metadata:
type: project
last_updated: 2026-07-19
---
# 當前進度(動態)
> **更新頻率**:每次 session 結束時更新此檔。
> **新對話開始時讀此檔第一段**(3 分鐘概覽)。
---
## 📍 當前位置
> **2026-07-28t95+t96 搜尋缺陷修復,main)**portal 搜尋兩缺陷修復——t95 CJK/ASCII
> 邊界自動補空白(`normalizeCjkQuery`,查詢端,不動索引);t96 graph 節點精確 0 鄰居
> → fuzzy fallback`findBestNodeMatch`/`fuzzyFindNode`contains 比對+最短名優先)。
> 純函式 + integration 各 6/2/4 案,tasks.md Bugfix 已標 [x]。
> B5 分支衝突面:同一行 `libraries` 欄位(可一行解)。待 leo 本機跑 vitest 驗收
>sandbox symlink 封鎖,靜態分析確認邏輯正確)+ commit+部署。
>
> **2026-07-19#39 藏書地圖 M5,分支 `feat/console-library-map-home`****library-map SDD M5GUI
> 首頁)PR 已開,等審+gated 部署(merge 後需 leo 閘 redeploy cypher-executor**。R4 落點裁定=
> console **總庫搜尋頁搜尋框上方**rag profile 該頁即首頁;full profile 它是全館入口——駕駛艙是
> 狀態面不是庫導覽面,地圖跟搜尋同頁「點庫卡片→帶 library filter 進庫搜尋」動線最短、一份實作
> 兩 profile 全吃)。兩段式渲染:GET /kbdb/map 先出庫卡片(narrativetop entitiestriplet 數+
> 更新時間),逐庫 GET /kbdb/map/:library 補 degree/跨庫 bridgescommit_hash(詳圖失敗維持名字
> 版不擋渲染);proxy 端(kbdb-proxy.tsowner_id **不強制注入只透傳**(同 M4 MCP 語意——現行
> backfill map block owner=NULL,強制注入=首頁永遠假空狀態);/map 空/錯誤=誠實空狀態(指引
> recompute backfill)不擋搜尋。測試:proxy 9 新測+console 頁 6 新測全過;tsc 16 行既有
> ExecutionContext.tracing 錯誤與 executor.test 1 失敗=main 基線就有(stash 對照實證),非本分支引入。
>
> **2026-07-19#39 藏書地圖 M4,分支 `feat/mcp-library-map-inject`****library-map SDD M4 PR 已開,
> 等審+gated 部署(merge 後需 leo 閘 redeploy arcrun-mcp**。兩件(design §4):
> ① MCP tool `kbdb_get_map`(無參數=全館每庫一行;帶 library=詳圖,slot JSON 字串容錯 parse 成
> 物件,parse 失敗當空陣列;404/空庫誠實回報+POST /map/recompute backfill 指引;description 含
> 「不確定該查什麼時,先呼叫此工具」)——走既有 KBDB service bindingkbdbFetch),與 #68 同族薄殼。
> ② server instructions 注入:`buildLibraryMapInstructions` 連線時拉 GET /map 渲染成每庫一行
> `{library}{narrative}|核心:{top3}{n} triplets`)嵌 instructions**快取選型=isolate 內
> TTL 快取(成功 5min/失敗 1min**,因 stateless StreamableHTTP 每個 HTTP request 都重建
> McpServer,「每次現拉」實際是每個 tool call 都多打一次;timeout 1.5s,任何失敗回 null 靜默略過
> **絕不擋 MCP 連線**(鐵律)。測試:假 KBDB binding 17 新測(全 76/76 過)+tsc 乾淨。
>
> **2026-07-19#39 藏書地圖 M1+M2,分支 `feat/library-map-base`****library-map SDD M1+M2 PR 已開,
> 等審+gated 部署(merge 後需 leo 閘 redeploy kbdb+首次 backfill 逐庫呼 recompute**。
> M1`library_map` templatemigration 0003 seedruntime ensureD6 零建表);核實 triplet 按庫定位=
> **不足**prod triplet template 無 library slot、entries metadata.library 未標記)→ 走 SDD 預案:
> recompute 冪等補 optional `library` slot(改 template 不動表),值待 ingest M3 補寫。
> M2kbdb base `POST /map/recompute?library=`degree top-Npredicate 分布/跨庫 bridgescount
> 聚合 SQL 住基本盤=D6 歸屬裁定;順序安全 supersede;過渡 `source_prefix` fallback 讓舊 triplet 靠
> source_uri 歸庫)+`GET /map`(每庫一行)+`GET /map/:library`。測試:node:sqlite 真 SQLite 實跑
> 聚合 SQLHono route 行為,45/45 過、tsc 乾淨。
>
> **2026-07-19#68 MCP graph tool**`kbdb_graph_neighbors` PR 已開(分支
> `feat/mcp-graph-neighbors-tool`),等審+gated 部署(merge 後需 leo 閘 redeploy arcrun-mcp)。
> 薄殼:MCP 新 tool 調 `/q/:ns/graph_neighbors` 同步查詢端點(#28 地基),補齊 D17 KBDB MCP
> 三模式(關鍵字/語義/圖)。graph_traverse 未加(repo 內無該 workflow 定義可對齊,不猜)。
>
> **2026-07-19 本 sessionbugfixkbdb search 兩缺口 #66/#67,分支
> `fix/search-source-filter-and-semantic-threshold`,雲端總管交辦)**
> - **#66/#67 修復 PR 已開(雲端總管交辦),等審+gated 部署**。
> - #66`/entries/search` keyword 路徑 source 參數解析後丟棄(#5.1 只接了 listEntries 那半)→
> `searchEntries` 尾端加 `source?`positional caller 全不用改)+同款 json_extract 謂詞,
> route keyword/semantic 降級兩處傳入。
> - #67semantic 固定 topK=20 零閾值 → route 曝 `top_k`(預設 20、封頂 100/`min_score`
> (預設 0=不過濾),semanticSearch 依閾值截低分尾,回應 entry 附 `score` 欄(加欄不改形,
> 向後相容)。
> - 驗證:kbdb vitest 33/33 綠(新增 search-source-and-score.test.ts 13 條)+ tsc 0。
> 不動表(D6)、不部署——merge 後需 gated redeploy kbdb workerleo 閘)。
>
> **2026-07-14 上一 sessionbugfixPBKDF2 CF runtime 上限+http_request 1042 flag,分支 `fix-pbkdf2-cf-limit`PR 待總管審不 merge**
> - **T6-cloud 部署抓到的框架蟲**CF Workers **正式 runtime** PBKDF2 上限 100,000 iterations——
> portal-auth 設 600k → `crypto.subtle.deriveBits` 真雲直接拒絕 → `/portal/admin/bootstrap` 500
> uncle6 實撞,證據 arcrun-rag `docs/manual/uncle6-deploy-record.md`)。**miniflare 無此限制=
> 本機測試全綠的假象**(新教訓:平台 crypto 限額 miniflare 不模擬,涉 WebCrypto 參數上限的驗收
> 只有真雲驗得出)。
> - **修(小刀)**`portal-auth.ts` `PBKDF2_ITERATIONS` 600_000→**100_000**+註明平台封頂(儲存
> 格式自帶迭代數,未來放寬可無痛升);design.md D-5 加修訂註+tasks.md 加 Bugfix 記錄。
> verify 相容性確認:迭代數從儲存值解析,**補測試「驗 600k 舊 hash 仍通」**miniflare 造)綠;
> 誠實邊界=真雲 deriveBits 同樣封頂、600k hash 真雲仍拒,但真雲 bootstrap 從未成功→雲端零存量
> hash、無遷移面。
> - **同 PR 順手(部署 agent 點名)**`.component-builds/http_request/wrangler.toml`
> compatibility_flags 補 `global_fetch_strictly_public`self-hosted 同帳號 fetch 1042 正解,
> Arcrun#33 同族;官方本就跨 zone 行為不變,原理同 cypher 前例 rules/03 1042 段)。
> - **驗證**cypher tsc 0;全套 169/170(唯一失敗=executor「不存在的零件」pre-existing);
> portal 三套 56/56 全綠(含新 600k 相容測試);http_request `wrangler deploy --dry-run` 打包過。
> - 不 merge 待總管審(B 類流程);merge 後部署仍走 gated leo21c/uncle6 wrangler 直推。
>
> **2026-07-14 上一輪(portal-auth P4admin 帳號+庫管理頁——本 SDD 最後一棒,PR 待總管審不 merge)**:
> - **實作(分支 `portal-auth-p4-admin-ui`3+1 小步 commit**:① `portal.ts` 補 **last-admin
> 鎖死保護**(總管派工明定、design 未明寫)——PATCH 停用/降級「最後一個 active admin」→ 409
> (另一 admin 是 disabled 不算數;只在目標是 active admin 且會失格時才多打一次 list,平時零成本)。
> admin API 其餘 P2 已交付(users CRUD/reset-password/libraries 含 graph_source**不重做**。
> ② `portal-ui.ts` 加「管理」頁(admin-only nav,前端藏=UX、真閘=/portal/admin/* role 403):
> 帳號管理(列表/新增/停用啟用/重設密碼+每帳號勾選可查庫含 `["*"]` 全庫連動)+庫目錄管理
> (登記/停用/graph_source 標記)。**一次性密碼只在畫面顯示一次**(otpbox 關閉即逝,server 只存
> hash、明碼不落庫不進 log)。③ 工作流頁 P4 項=P3 已交付,零改動沿用。
> - **驗證**:新增 `tests/portal-admin.test.ts` 14 項;cypher 168/169(唯一失敗=executor「不存在的
> 零件」pre-existing);kbdb 20/20;兩包 tsc 0dry-run 打包過;inline JS node --check 過。
> **端到端隔離雙 worker9790/9791demo 8787/8788 不碰)41/41 全綠**bootstrap→建帳號拿一次性
> 密碼→新 user 登入→勾庫**同一 session 搜尋即時變化**(1→2 筆、越庫 404→200)→停用 session 立即
> 失效→重設密碼舊密 401 新密 200→last-admin 409+降級即時生效(原 admin session 變 403)→一般
> user 打 admin API 403→HTML 殼加 admin 頁後仍零租戶字串/零 /kbdb//零 API key/零 Mira。
> - **portal-auth SDD P1-P4 全完成,待 T6-cloud 排練上真環境**(部署清單沿 P1Vectorize `library`
> metadata indexreindex backfillgated leo21c wrangler 直推,B 類流程)。不 merge 待總管審。
>
> **2026-07-14 上一輪(portal-auth P3Portal UI+查詢 enforce——本 SDD 最大件,PR #52 待總管審不 merge**
> - **實作(分支 `portal-auth-p3-portal-ui`**:① `routes/portal-data.ts`(安全核心)——`/portal/data/*`
> server-side enforcesession→回讀 user record→server 注入 `owner_id=CONSOLE_TENANT``library=<集合>`
> 轉發 KBDB;**前端絕不下發租戶字串**vs console 把 tenant 交給前端直打 /kbdb/*);caller 自帶
> owner_id/library 被靜默覆蓋;entries/:id 逐筆驗租戶+庫(越庫/跨租戶/不存在同一句 404 不洩存在性);
> graph D-4 粗閘(來源庫=portal_library `graph_source` 標記、無標記預設 general;無權 403);workflows
> D-8`PORTAL_SHOW_WORKFLOWS` 預設 admin;唯讀+最近執行,無 webhook_url/trigger 把手)。
> ② `routes/portal-ui.ts`——`/portal` 單檔 HTML 殼(登入/搜尋三模式+source 溯源+卡片詳頁/設定改
> 密碼看權限主題;graph 模式與工作流頁按 `/portal/session` 新能力欄位 `graph_allowed`/`workflows_visible`
> 顯示,真閘在路由層)。③ P1 順延項補上:kbdb-proxy `/kbdb/search``/kbdb/entries` 透傳 `library`。
> ④ portal_library seed 加 `graph_source` slotensurePortalTemplates 冪等 grow 舊 template 缺 slot
> admin libraries PATCH 可標記。
> - **UI 重用取捨**:複製 console 樣式子集(紙感/明體/琥珀/深淺主題)而非抽共用模組——抽共用要動
> console.ts(違「console 現狀不動」鐵律);代價=樣式雙份、改版要兩邊同步(誠實記)。
> - **驗證**cypher 154/155(唯一失敗=executor「不存在的零件」pre-existingstash 複驗)+新增
> `tests/portal-data.test.ts` 21 項;kbdb 20/20;兩包 tsc 0`wrangler deploy --dry-run` 打包過。
> **端到端隔離雙 worker9790/9791demo 8787/8788 不碰)47/47 全綠**:越庫 id 直讀 404(含跨租戶
> id)、攻擊參數 `library=hr&owner_id=other-tenant` 被 server 覆蓋、graph 無權 403→授 general 後放行、
> admin 全庫 3 筆+跨租戶第 4 筆不可見、權限 PATCH 即時生效(同一 session)、HTML 殼零租戶字串/零
> X-Arcrun-API-Key/零 Mirainline JS node --check、semantic 誠實降級仍 enforce、改密碼全鏈。
> - **不 merge 待總管審**B 類流程);部署後 leo21c 線上驗(semantic 線上路徑仍依 P1 部署清單
> Vectorize `library` indexreindex backfill)。下一棒 P4admin 帳號管理頁)。
> - **附帶**P2 舊 session 測試補 P3 能力欄位 mockwrangler.test.toml 補 ANALYTICS_KVKBDB_GRAPH_URL
> 假 host。本 session 同時補記 #47-#51 五件的 wiki 斷層(見下段)。
>
> **2026-07-13/14 補記(RAG Portal 線五連發——前五個改動當時漏寫 wiki,leo 點破接關斷層,此段補上)**:
> - **PR #47**commit 2e1005e):console rebrand Mira→Arcrun`CONSOLE_BRAND` var 可覆蓋品牌字樣(Gitea #21)——console 是引擎共用件不寫死產品名。
> - **PR #48**commit cbebb36):`CONSOLE_PROFILE=rag` 頁面裁剪(企業產品樣:搜尋落地、只留搜尋/工作流/設定;未設=full,Mira 實例零影響)——是 config 裁剪不是 auth。
> - **PR #49**commit 18c0846):**portal-auth SDD 立卷**`system-dev/docs/3-specs/portal-auth/`Gitea #24 Portal 拆分+#25 多用戶登入);純設計文件。總管審過+leo 裁 D-4=Agraph 粗閘)/D-8=admin(工作流頁)。
> - **PR #50**commit 7f40964):portal-auth **P1**——KBDB「庫」filter 地基(`metadata_json.$.library`D1 COALESCE→general fallbackVectorize `$in` 主路徑、寫入端正規化;kbdb 17/17 測試綠)。
> - **PR #51**commit 1260d8c):portal-auth **P2**——portal_user 模型+認證 APIKBDB 萬用表零新表、`{tenant}::portal` 子 namespace、PBKDF2-SHA256 600k、bootstrap 走 console owner session、admin CRUD+節流;cypher 20 項單元+雙 worker e2e 33/33)。
> - 以上均**不 merge 待總管審**的 PR 正規流程(#47/#48 已 merge 進 main#49/#50/#51 已 merge——見 git log——部署另走 gated leo21c wrangler 直推)。下一棒=P3 Portal UI+查詢 enforce(本 SDD 最大件)、P4 admin 頁。
> **2026-07-04 本 sessionMira Console 完整版 UIArcrun#3 console 系,總管派工)**
> - **實作(commit f9e44ab**`/console` 依 claude design 定稿(紙感暖黑「2a」,`system-dev/docs/6-user/Mira Console 設計規劃/` 於頂層 repo)+ brief 8 頁資訊架構全面重寫成單檔 SPA(hash routing、零外部資源、手機優先+≥1024px 側欄+底部五 tab)。`/console/dashboard` 免登入獨立頁同步換視覺(呼吸球「安/趕/滯」)。
> - **後端小補(全唯讀/薄殼)**:① `GET /credentials/catalog`D1 目錄 metadata list,絕不回密文,D19)② `GET /console/inbox-data`inbox 清單,session 鎖——訊息原文屬機敏,計數才免登入)③ `GET /kbdb/graph/neighbors/:name`cypher 代轉 kbdb-graph-plugintoken 只在 server 側;plugin base = `KBDB_GRAPH_URL` 或 `kbdb-graph-plugin.<subdomain>.workers.dev` 現算)④ types 加 `KBDB_GRAPH_URL?`。
> - **誠實分層**:語意搜尋未啟用→banner 讀 search 降級訊號(不假結果);搜尋 chips 用 entry_typeKBDB 真能篩的欄位,不編造「電腦筆記/手機筆記」分類);憑證「刪除」標即將開通(DELETE 仍舊 KV 路徑,接了會假綠,見 mistakes #24);設定頁 vectorize「開關」標即將開通(需部署端 kbdb_embed);關聯查無 triplet →「尚無關聯資料」。v0 零件/recipes 查詢區收進工作流頁折疊區(不砍功能)。
> - **驗證(本機,未部署)**tsc exit 0vitest 26/271 失敗 stash 複驗=pre-existing「不存在的零件回傳失敗」);`wrangler deploy --dry-run` 打包過;inline JS 求值後 `node --check` + 純函式行為測試全過(XSS escape/時間容錯,驗證法固化 mistakes #24)。
> - **✅ 已部署 leo21c2026-07-04 總管親跑,leo 明示「部署」)**:手工注入(live worker settings API 拉真實 binding 對齊)→ dry-run 核對 7KV/D1/13SVC/6vars 與 live 一致 → wrangler deployVersion 13b86bda)→ toml 已還原乾淨。**驗收全綠**/console 200+新視覺(title=Mira Console);/console/dashboard 200dashboard-data 真資料(green light/progress-guard beat);/kbdb/search 401auth by-design 非迴歸;/credentials/catalog 401 誠實要 key(非 404,端點在);/console/inbox-data 401 session 鎖生效。
> - **部署注意(留總管)**:不跑 acr updatemistakes #23 codeload 陷阱),走 leo21c wrangler 直推 cypher-executor 單 worker;關聯視圖需 leo21c 有部署 kbdb-graph-plugin(沒部署→前端誠實顯示不可達,不擋其他頁);`CONSOLE_TENANT`/`WORKER_SUBDOMAIN` 沿既有注入。SDD 缺口沿 07-02 未解(search-console SDD 未建,rule 4.3 需 richblack 確認,本次照派工先實作、誠實記錄)。
> - **二輪(leo 實測三回饋,本機已修未部署)**:① 深/淺主題切換+**預設淺色**CSS custom properties 兩份色板:淺=宣紙米白紙紋+墨字、琥珀調深 #8a5f1e 過 AA;深=原定稿原值不動;localStorage `arcrun_console_theme`head 預載防閃色;入口=登入/setup 小鈕+側欄項+設定頁開關,dashboard 頁同步支援)② 登入/首次設定置中(根因 `.view.on{display:block}` 蓋掉 authwrap flex → 補 `.authwrap.view.on{display:flex}`)③ fetch 斷網裸「Failed to fetch」→ `friendlyErr()` 誠實文案「連線中斷」+駕駛艙/dashboard 60 秒定時器常駐自動重試。驗證:tsc 0、vitest 26/27(同 pre-existing)、三層跳脫驗證全綠(#24 手法)、淺色板 WCAG 對比實算(正文 12.2:1/琥珀 4.82ok 4.58err 5.17)。金琥珀例外(按鈕漸層/狀態球/toast/gcenter)兩版刻意不變。
>
> **2026-07-02 上個 session(雲端工人 T-loop1dArcrun#3 搜尋/控制台頁 v0,跨多 repo 第二次壓測)**:
> - **實作**`cypher-executor/src/routes/console.ts`GET /console,單檔 HTML+原生 JS 薄殼)+ `index.ts` 掛載。三查詢區全打既有端點:`/kbdb/search`、`/workflows/search`(同源,X-Arcrun-API-Key)、components 打「同帳號」`arcrun-registry.<subdomain>.workers.dev`WORKER_SUBDOMAIN 現算,不硬打官方 registry.arcrun.dev)、recipes 打 `/public-recipes`(公庫免 auth)。vectorize 狀態直接讀 KBDB search 回應的 `mode`/`capability_hint`,沒開新端點。tsc/vitest 綠(既有 1 個無關失敗,`不存在的零件回傳失敗` 測試,stash 驗證 pre-existing)。commit `981dc25` 已 push Gitea main。
> - **框架級發現(mistakes #23**`acr update` 部署源永遠是 GitHub codeload tarball`uncle6me-web/Arcrun` main),跟本地/Gitea checkout 完全脫鉤——雲端工人只能碰 Gitea(D20),照 issue 字面指示跑 `acr update` 會部署到蓋掉自己剛做的改動的舊版,回報成功卻是假綠。本次改用手工複刻 `injectWranglerConfig` 注入邏輯(CF API 查真實 KV id 對齊 dry-run)、直接 `wrangler deploy` 單一 workercypher-executor),避免碰 GitHub 又讓改動真的上線;部署後立刻 restore `wrangler.toml`,不留帳號 id 進 git。**此路只適合單 worker 小改動**;牽動多 worker 時的正解懸而未決,留 leo 裁(部署繞開 GitHub 鐵律 vs acr CLI 硬綁 codeload.github.com 的結構性衝突)。
> - **端到端驗證(leo21ccurl 證據)**`GET /console` 200`GET /kbdb/search?mode=semantic` 200(誠實降級 keyword + capability_hint,該帳號 KBDB 目前 0 entries,真實狀態非 bug);`GET /workflows/search` 2000 筆,該帳號無 named workflow);`GET /public-recipes?q=telegram` 200 真回 `telegram_send` 紀錄;`GET arcrun-registry.leo21c.workers.dev/components/search` 200。Playwright 瀏覽器點擊測試因沙盒 outbound proxy policy 擋 registry.arcrun.dev/workers.dev 連線未能跑通(環境限制,非部署問題),改以 curl 逐端點驗證 + 手動覆閱 JS 邏輯替代。
> - **SDD 缺口**issue 要求新 SDD 目錄 `docs/3-specs/arcrun/search-console/` + 改 pre-write-guard `KNOWN_SDDS` 白名單——但本 repo 整個 `docs/` 與 `.claude/` 都在 `.gitignore`(只存在 leo 本機),Gitea clone 拿不到,也無法確認 SDD 白名單機制實際路徑。未落地此步驟,回報 issue,等本機 CC 或 leo 補。
> - Arcrun#3 issue comment 已回報(署名 `[cloud-worker]`),sprint 表 T-loop1d 已勾。
> **2026-06-28 上個 sessionissue #13 零件退役殘留收尾,步驟1+2 done)**:
> - **issue #13 步驟1merge caa8e10**3 個示例 yaml 的 `component: telegram` → recipe canonical_id `telegram_send`commit a234201)。
> - **issue #13 步驟2merge 764f657**:清 `cli/src/commands/parts.ts` 降級零件殘留——telegram/gmail/sheets/line 改 recipe canonical_id、移除已刪的 ai_transform_compile/runcommit 225aa9f)。
> - **關鍵發現①(gmail 假綠避免)**gmail **讀取**`fetch_unread` / `action: list`**無對應 recipe**,硬塞 `gmail_send`(寄信)=語意不符的假綠 → **留 TODO 待 seed 補 `gmail_list`**,不硬塞。
> - **關鍵發現②(第三污染源是設計非殘留)**:#13 提的「offline validate 不檢查零件」是 by designoffline 刻意跳過遠端查),**不當 bug 修,留 issue**。
> - **教訓沉澱**parts.ts 是手寫常駐清單必 stale → **退役 SOP 要同步清「AI 搜尋零件的三個源」**(示例 yaml / parts.ts / validate)。已記 mistakes #22 + card [[零件退役要清三源]]。
> - **未 push/merge 由總管統一處理**(本 session 只 wiki-capture)。issue #13 步驟1+2 donevalidate 缺口留 issue。
>
> **2026-06-27 上個 sessionissue #8 地基1 + wiki-init 補骨架)**
> - **wiki-init 補骨架**wiki 已初始化過(push 檔活躍),補了從沒建的 pull 層——`cards/decisions/` 13 張決策原子卡(Haiku 改寫 11+範本 2,含 gloss/實體/typed-edge)、TAXONOMY 換成 arcrun 軸(子系統/形態)、principles 填 13 條、INDEX 真實視圖。raw source 0 異動,無真斷鏈。
> - **issue #8[地基1] workflow description slot + search_workflow,北極星入口)**:新開 SDD `docs/3-specs/workflow-discovery/`(白名單已加)。leo 拍板 4 點(方案C雙寫/Q2 description 由操盤CC據實生成用戶可改/提示式回填/base通用entry_type filter+ 方向①(MCP 改打 /webhooks/named)。
> - ✅ **已實作 tsc 全綠**1.1 `/webhooks/named` 強制 description2.2+Q4 KBDB base 通用 entry_type filter(改4處:searchEntries/semanticSearch/route/proxy)|2.1 部署雙寫 embeddable entry(注意 KBDB 用 metadata_json 字串)|3.1 cypher `/workflows/search`3.2 MCP `u6u_search_workflows`4.1 `/workflows/backfill-search-entries`1.3b `GET /webhooks/named` 補 description/created_at 欄位。
> - ⏸ **卡待總管定**Phase 1.2/1.3MCP deploy 改打 /webhooks/named)卡在 ①-a/b/c——實作期發現 /webhooks/named 吃 graph 非 YAMLYAML→graph 編排寫在 CLI push.ts 介面層,MCP 複製=違 rule 07。①-c(先通債另開 issue)我推薦,待總管定。
> - **完成標準**:tsc 綠≠完成,框架級待 leo21c 端到端實證(強制填擋空/搜尋命中/租戶隔離/降級 hint/MCP 不再 404)。issue open。
> - **已 merge 進 main**fast-forward3 commit934b926 #4/5/7/8 功能 / 558e80b wiki-init / 5d38b59 #11 薄殼對齊)+ push origin main。repo Actions `enabled:false`leo 關),merge **未觸發部署**。**merge≠部署**#5/#7/#8/#11 端到端待 leo21c wrangler 直推(Mira 線)。
> - **issue #11 全做**P0 run 死端點/P1 list 同源/R4 防複發機制:對照清單+smoke+自驗能攔);P2 validate 依賴 #10、tag resource_id 語意債待方向①。
> - **issue #12self-hosted MCP 缺 CYPHER_EXECUTOR binding)✅ 修+merge maincommit 222a382**:根因非總管假設的 strip 誤清,是 **TOML 坑——mcp toml `services=[...]` inline 在 [vars] 後被吸成 vars.services**binding 消失);修法 inline→`[[services]]` array-of-tables(對齊官方 cypher)。wrangler --dry-run 雙向驗(修法後 binding 在/舊版變 env.services)。**端到端待 leo21c acr update 重部 MCP**;連帶解鎖 #11 self-hosted MCP + mira #6 門鈴 + acr push。見 mistakes #21。
> - 署名鐵律:跨 repo comment 開頭 `[arcrun CC]`#12 issue 慣例,非本次 bug)。
>
> **2026-06-26 上個 sessionissue #4/#5/#6/#7 一批)**
> - **#6**base `PATCH /records/:id`):✅ updateRecord + route,三表 append-only 不破。tsc 綠,端到端待 leo21c。issue open。
> - **#4**07-thin-shell §3.1 自力救濟階梯 + code-node 規則):✅ 兩份 07 同步 + 02-forbidden §5.2 連動。§3.5 階梯(自家API→補API/第三方→workflow/code-node 補丁/純計算→code-node)。**code-node 只定規則未實作零件**wishlist C1,另案)。純文檔。
> - **#5**KBDB 查詢缺口,普世視角):source 過濾 ✅(json_extract metadata_json,零建表)+ cypher proxy 透傳;documents 聚合 ❌不做(走 graph MCP);DELETE proxy ⏸擱置(依賴頂層 T8);embed-on-write →併#7;能力對照文件 ✅ `docs/4-guides/kbdb-capabilities.md`。
> - **#7**vectorize 全包,從零):✅ base embed 模組 `kbdb/src/embed.ts`(精耕只 embed `metadata.embed:true`+ entries route 接 embed-on-write/semantic search/capability_hint + kbdb_embed 開關(config/deploy ensureVectorizeIndex REST/init 問)+ MCP kbdb_search mode:semantic。**抓修 deploy 順序 bug**embed 注入要在 stripOfficialOnlyBindings 之後,否則 [ai] 被清)。kbdb/cypher/cli/mcp tsc 全綠,**端到端待 leo21c 部署開 Vectorize index**。
> - SDDkbdb-base tasks Phase 10#6/11#5/12#7)。4 issue 各 comment 回報、**全留 open**(待端到端/頂層)。**未 commit**(待人決定)。
| 項目 | 狀態 |
|------|------|
| **Phase** | Credential Primitives TS → WASM(§0.1-0.5 完成,0.6-1 進行中) |
| **主線** | kbdb-base §7.5 已上線(公庫/私庫雙向、UUID 身份、市場數據) |
| **近期完成** | MCP self-hosted bug 三修(2026-06-08 |
| **已部署(2026-06-09 上午)** | §8 P0 cron 止血;§7.8 onboarding P0/P1/P2CLI 1.3.3 publish |
| **已部署(2026-06-09 下午,Haiku 壓測暴露)** | **http_request+claude_api+kbdb_upsert_block+km_writer 假綠根因修復**(非 2xx 回 error envelope4 worker 已 deploy);**acr run self-hosted 修復**(本機 YAML 直接走 /cypher/execute 不需先 push + res.ok 擋 + .yaml 容忍);**D1-in-update 修復**update 漏建 D1 → 補 ensureD1DatabaseD1 已建 count:1);**CLI 1.3.4 publish**llms.txt/.env.example 加 D1 Edit 權限 |
| **Haiku 自主壓測(test_arcrun/5)結論** | onboarding 治好(兩輪都裝+init 沒跳過、走對路建 recipe 不建零件);但暴露 4 真 bug(見下);Haiku 仍會假綠(curl 繞過說成 arcrun 成功、D1 沒建謊報成功)→ 印證「執行真相要系統能驗,不能信 AI 嘴巴」 |
| **已驗證(2026-06-13 壓測 leo21c** | **401 假綠根治全鏈驗證**host fn error envelope → 零件 parsed["error"] → cypher isFailure()leo21c 實測 401 回 `success:false`(真紅);**`{{credential.notion_token}}` 注入實證打通**:真讀到 Notion Recipes 資料(「蕃茄蘑菇燉雞」+ iCook 連結),§8 credential 機制生效;**acr update 部署系統一輪修完**CLI 1.3.5 部署假綠露出、pnpm-workspace 缺檔補齊 23/23 全綠、1.3.6 失敗帶 stderr、1.3.7 manifest 跳過、1.3.8 共享 install 治本);check-release.sh + local-deploy.sh 全形括號 set-u crash 修復 |
| **已完成(2026-06-14matrix 重整交棒)** | **① SDD 遷移收尾**.agents/specs → docs/3-specs 全改(hooks5/rules5/CLAUDE.md/wiki + 2-architecture 鏡像/README/HANDOFF/4-guides),.agents 刪除,pre-write-guard 白名單刷成 10 個實存 SDDSessionStart + rule4.3 已驗)。**② KBDB 資料層 MCP 薄殼**kbdb-base Phase 9.1):mcp/src/tools/kbdb_data.ts 6 工具(template/record/query/search),守鐵律不給建表/SQLmcp tsc exit 0CLI(9.2)後補。**③ 修 LI M3 斷鏈**(見 mistakes #15):skills/examples 5 工具 + sync 從 v3 /blocks /search 改打基本盤 /entriesbase 加 page_name 過濾,search 誠實降級 LIKEmcp+kbdb tsc exit 0 |
| **已完成(2026-06-14 晚,HANDOFF §3b** | **修 MCP self-hosted 認證 401**mcp-account-source.md §5.5):根因=MCP partner-auth 把 Bearer 拿去 KBDB 驗證 partnernamespace 明碼非註冊 partner→401cypher 端 X-Arcrun-API-Key 不驗證直接當分區 key→CLI 通。修法①+②:① `MULTI_TENANT=false` 時 partner-auth 把 Bearer 明碼直接當 org_namespacetypes/middleware/wrangler,官方 SaaS 行為不變共用同碼);② mcp-setup 把 api_key/namespace 寫進 .mcp.json `headers.Authorization`(裸檔不送 header 是次因)。mcp+cli tsc exit 0、partner-auth 9 tests 綠 |
| **已處理(2026-06-25issue #3 官方庫誤寫善後)** | **① 清理 SOP runbook 備妥**`docs/5-records/2026-06-24-official-kbdb-cleanup-leo-misdelete.md`):14-E 遷移期 mira 誤寫 ~11 萬 `owner_id=leo` 進官方 prod `arcrun-kbdb`database_id `0c580910…`)。三道防誤刪閘(備份先行 d1 export → 核實 entry_type+時間範圍確認範圍乾淨 → 刪後驗證 count=0+孤兒 entry_values=0+其餘不受影響)。**補關聯刪除範圍**:`entry_values`slot-link,外鍵指 entries)先刪孤兒、`templates.created_by=leo` 單獨核實勿盲刪。**DELETE 不由 CC 跑**(不可逆+官方憑證+需人類明示,mindset §7)→ runbook 由 leo(官方運營方)親自執行。**【2026-06-25 已端到端執行完畢】** chaperone 模式逐步跑:核實誤寫 **111,368 筆**value 93,790/note 13,671/block 3,907,全 06-15~06-24 遷移期、孤兒=0、無 leo template)→ 45MB 備份 → leo 點頭後 `DELETE FROM entries WHERE owner_id='leo'`changes=111368)→ 驗證 leo 殘留=0/孤兒=0/官方庫其餘只剩 smoke_ns_1×2+null×13 筆烟霧殘留,非 leo)。備份已刪、`.gitignore``*.sql` 防誤 commit、gh issue #3 已回報客觀證據可關閉。**② 願景 acr migrate 雙向遷移記 BACKLOG.md**(對齊 wishlist C7,牽動 cli+cypher+kbdb,未來方向)。已 gh issue #3 comment 回報,**暫不 close 待 leo 跑完清理回報 count 歸零**。**③ 順手消 status 矛盾**credential 401 真實狀態=**已端到端實證打通**2026-06-13 Notion `{{credential.notion_token}}` 真讀到資料),tasks.md 8.5 原標 `[ ]`OpenAI 路徑沒走)已補 `[x]`(Notion 達同等證據,機制與服務無關)。**純文檔/runbook,無 code 變動** |
| **已修+merge prod2026-06-24issue #2 框架 bug** | **self-hosted cypher KBDB_BASE_URL 注入缺口修復**(總管經 GitHub issue #2 交辦):根因=`injectWranglerConfig` self-hosted 分支只注 database_id/MULTI_TENANT**漏注 KBDB_BASE_URL** → cypher `/kbdb/*` fallback 到官方 `arcrun-kbdb.uncle6-me`self-hosted 資料寫進官方庫、隔離破損)。修:deploy.ts self-hosted 分支加 `KBDB_BASE_URL` 改寫成 `arcrun-kbdb.<ctx.workerSubdomain>.workers.dev`,比照既有注入模式;init/update 共用此注入點一處修兩條路。驗:tsc exit 0、真實 cypher toml 注入 subdomain=leo21c → `arcrun-kbdb.leo21c.workers.dev`comment 行不動)。**已 merge main+push**commit 9c4333d、merge ba00b98)、**CLI npm publish 1.3.13**(修的是 CLI 注入邏輯 → self-hosted 用戶裝 npm 套件才到手,光 git 不生效;local-deploy.sh §6 自動 bump+publishrelease-check 全綠)、**issue #2 已關閉**。**端到端落庫實證歸 mira dogfooding 帳號**(需 leo21c token 跑 acr update + wrangler d1 execute 收綠燈,不卡本框架修復)。⚠️ 與 issue 描述出入:cypher toml **本就有** KBDB_BASE_URL(寫死官方),比「沒有」更糟(`??` fallback 根本不觸發)→ 修法是就地改寫而非新增。**慣例落地**:總管↔arcrun 交辦走本 repo GitHub issue(已寫進 CLAUDE.md|
| **已部署+端到端驗收(2026-06-15,總管交棒 3 件)** | **① CLAUDE.block.md 重寫**HANDOFF §6Haiku 能懂):補三盲點=recipe 是公共投稿非私人腳本/缺能力補 API 不准 recipe-工作流拼裝(附口訣)/自製零件退場路徑(claude_api 刪、kbdb 走 acr kbdb 薄殼、假零件改 recipe);README 零件vsrecipe 段同步對齊。**② cypher proxy 補 /kbdb/entries CRUD**kbdb-base 9.6,解鎖 mira _kbdb_client.py 主線):POST/GET list/GET :id/PATCH :id 純轉發基本盤;租戶隔離同 9.5(寫入注 owner_id、list 強制本租戶、PATCH 剝 owner_id、刻意不開 DELETE)。**③ arcrun_report_feedback 改打 /entries**kbdb-base 9.79.4 漏網):舊 POST /blocks 是死 route(404 假紅)→改 entry_type=agent-feedback。**端到端 prod 驗收全綠**:無key→401、跨租戶 list count=0、owner_id hijack 被剝、page_name lookup 通、/blocks→404 確認、agent-feedback 寫入經 proxy 讀回 count=1。cypher+mcp tsc exit 0、已部署官方 58309bb9、CLI npm 1.3.12、smoke 資料已清。**交棒 mira**leo21c 改 _kbdb_client.py 打 cypher /kbdb/entries 即可遷移 |
| **已部署+自驗(2026-06-15HANDOFF §6b 部署斷層解決)** | **leo21c cypher 落後 → 已重部,`/kbdb/entries` 回 200**(解鎖 mira 14-A 主線遷移)。**根因不是 GitHub lag**origin/main==本地,含 entries route):① `acr update` 的 content-hash manifestdeploy.ts:198-225)把 cypher 當未變動跳過 → `--force` 清空 manifest 全部重部;② **更深陷阱**repo `.env` line 3 active `CLOUDFLARE_ACCOUNT_ID=58309bb9`(官方)被 CLI 載入覆蓋 config.yaml 的 leo21c `51a01bfa`env>configconfig.ts:174)→ leo21c token 對官方帳號認證 → KV「Authentication error」中止 → 解:部署時 `CLOUDFLARE_ACCOUNT_ID=51a01bfa… acr update --force`(記憶 [[selfhosted-deploy-account-override-trap]])。**部署 23/23 全綠**(含 cypher/kbdb/mcp+ seed(10 API+23 auth)+cron migrate。**自驗**`/kbdb/entries?limit=1`→200 真 body(非假綠)、`/kbdb/templates`→200、`/kbdb/records?limit=1`→404**非回歸,proxy 本就無 bare list route,只有 POST + by-template/:t + :id**);缺口② MCP initialize(Bearer leo)→200MULTI_TENANT 注入生效、KBDB binding 隨 mcp 上線)。全域 acr 已升 1.3.12(npm 本就有,非重發)。**純部署無 code 變動** |
| **已部署(2026-06-15MCP self-hosted 401 注入缺口修補)** | **根因=部署沒注入 MULTI_TENANT**(非 code bug):partner-auth.ts MULTI_TENANT 分支對,但 mcp toml 該行原是註解、injectWranglerConfig 注 KV/subdomain 卻漏注 MULTI_TENANT → worker env undefined → 走 partner-key → self-hosted 401。修:deploy.ts 加 injectMultiTenantDeployContext.selfHostedinit/update 帶旗標;mcp toml 改 active [vars])。本地驗注入真實函式 PASSmcp/cypher 各 1 行 active MULTI_TENANT=false 在 [vars] 下);官方 MCP partner 路徑回歸 401(不變)。CLI npm 1.3.11。**端到端交棒 mira**leo21c 重跑 acr updateCLI≥1.3.11)→ curl Bearer leo /mcp 應 200。SDD §5.5.1 |
| **已部署+端到端驗證(2026-06-14 晚)** | **KBDB CLI 薄殼解卡(9.5+9.2)已上 prod**cypher `routes/kbdb-proxy.ts` 純轉發 + CLI `commands/kbdb.ts`(acr kbdb)。**端到端煙霧測試全綠**curl cypher.arcrun.dev/kbdb/*):無key→401、建template→200(created_by=租戶)、租戶隔離 query+search 都 0 筆跨租戶。CLI npm 1.3.10。**煙霧測試抓到 2 真 bug 並修**:①proxy fallback 寫死舊死的 kbdb.finally.click→改現役 arcrun-kbdb + cypher [vars] KBDB_BASE_URL;②kbdb searchByTemplate `\|\| true` stub 讓 owner_id 過濾失效(跨租戶洩漏)→改 SQL JOIN entries 真過濾。三 worker(cypher/mcp/kbdb)都已 deploy 官方帳號。**self-hosted MCP 那條未測**(官方不設 MULTI_TENANT,待 leo21c 部署 HANDOFF §3)。⚠️ prod 留了 smoke_contact 測試 template(掛 smoke_ns_1,不污染真租戶,template 無 delete API |
| **待處理** | §8 P1/P2 recipe/workflow list 遷 D1(需 D1 先穩,現已可建);4 份 inline host fn 抽共用 helper deduparcrun.dev/llms.txt servemcp worker 偶發 fetch failed(網路抖動,重跑即過,非 bug);**LI M3 實環境驗收**(需 KBDB_BASE_URL 跑 sync + 叫工具,目前只驗 tsc+dry-run);**mira 波次2 主線遷移**arcrun 端 cypher 已部 leo21c、/kbdb/entries 實測 200**已交棒待 mira CC 改 _kbdb_client.py**)|~~KBDB /kbdb/entries 缺口~~✅~~MCP report_feedback 死 route~~✅~~self-hosted MCP 端到端實測~~✅(2026-06-15 leo21c initialize 200,見上)~~leo21c cypher 落後/部署斷層~~✅(2026-06-15 §6b 解)~~self-hosted cypher KBDB_BASE_URL 漏注入(issue #2 隔離破損)~~✅(2026-06-24 merge prod,端到端待 mira 帳號驗) |
---
## 🔄 進行中的 Task
### ~~credential-primitives-wasm~~ → 📦 已封存(2026-07-21
**不再是進行中的 task**。卷移入 `system-dev/docs/3-specs/archive/credential-primitives-wasm/`
design.md `status: closed`)。Phase 0-3 + 7 + 8 全數完成:auth_static_key /
auth_service_account / auth_oauth2 WASM 零件到位;`credential-injector.ts``jwt-signer.ts`
`BUILTIN_API_RECIPES` / `BUILTIN_CREDENTIALS_MAP` 全數移除(grep 0 筆,T10 於 2026-07-20
commit `20c7610`)。
**credential 現行做法**CF Workers per-script Secrets(密文)+ D1 目錄(metadata/secret_ref),
arcrun 不自管加密金鑰,`crypto_decrypt` host function 已成永遠回失敗的 stub。
規範見 `.claude/rules/01-tech-stack.md`「Credential 儲存規範」。
⚠️ **封存 ≠ 全部做完**(要做需另立新 SDD,不得掛回封存卷):
- **`auth_mtls` 從未實作** — `registry/components/auth_mtls/` 不存在,mTLS 認證不支援
- **原 7.6 self-hosted auth 鏈端到端未驗** — `global_fetch_strictly_public` flag 是否真解
same-zone 1042,在自架帳號上從未實測
- 端到端測試 1.7/1.8/2.6/3.5/3.6/5.1 無驗證記錄
### kbdb-base
- [x] §7.5:公庫/私庫雙向、UUID 身份、市場數據(2026-06-07 deploy
- [x] §8 P0cron 止血(2026-06-09)。scheduled.ts 每分鐘 list → 單一 key `cron-idx:_all` get(新增 lib/cron-index.tswebhooks-named push/delete 維護;migrate-cron-index 一次性遷舊)。1440 list/日 → 0。cypher tsc exit 0
- [ ] §8 P1/P2recipe/workflow list 遷 D1(透過 kbdb worker /entries HTTP API 雙寫,**不加 binding**,用 cypher binding 狗糧)。另開 session 做(大、易出錯,需專注+壓測)
- **狀態**:架構拍板(richblack 2026-06-09:用 kbdb /entries HTTPservice binding 才需問),未動 code
### onboardingself-hosted-init §7.82026-06-09 交付)
- [x] P0acr init 偵測先於動作 + 裝完驗收(cli/src/lib/preflight.ts)。冪等。
- [x] P1acr whoami+--json+ MCP arcrun_whoamiAI 別自己 curl 猜帳號)
- [x] P2mcp-setup 寫完印「請重啟 client」(D3)
- [~] P3(部分,2026-06-09 push c152f5f):repo 加 `.env.example` 範本(每格白話說明、值留空,
`.gitignore` `!.env.example` 放行)+ llms.txt 教 AI「先 cp .env.example .env、帶用戶填值」。
已 push main → 公開 repo 生效(raw 200 已驗)。仍待:arcrun.dev/llms.txt servelanding/public 缺檔)。
### LLM Wiki 建設
- [x] 階段一:目錄結構建立、分類規則表、檔案掃描(101 個 .md)
- [x] 階段二:mistakes.md + decisions-summary.md + INDEX.md + status.md(本檔)
- [x] 階段三:文件遷移執行(2026-06-14 完成)— SDD 實體已在 `docs/3-specs/`hooks(5)/rules(5)/CLAUDE.md/wiki
全部從舊 `.agents/specs/` 改指 `docs/3-specs/``.agents/steerings/tech.md`(已與 `docs/3-specs/tech.md` 同步)
連同空 `.agents/` 刪除。SessionStart hook 與 pre-write-guard 白名單(10 個 SDD 目錄全對齊)已驗證。
另收尾活指針:docs/2-architecture/ 鏡像、docs READMEs / HANDOFF / 4-guides 的 arcrun-local 指針一併改新路徑。
刻意保留:docs/5-records 歷史 incident/migration 記錄、跨 repopolaris/mira、matrix/kbdb)路徑、
docs/3-specs/** SDD 內文(改 SDD 內文=change,需另確認)、README 遷移對照表。
- 🟡 待補:modules/ cypher-executor、wasi-shim、recipe-system 等)
---
## ⚠️ 已知問題 / 待處理
> 2026-06-09 更新:已解項標 ✅;🔴/🟡 為仍待處理。本次 Haiku 壓測新發現的 bug 加在表內。
| 問題 | 優先級 | 狀態 | 備註 |
|------|--------|------|------|
| ~~**credential 注入 401**~~ | ✅ 已解 | **8.1-8.5 全完成(2026-06-25 確認)** | 機制(auth_static_key `resolve_credentials` + graph-executor `resolveCredentialRefs`)已端到端實證:2026-06-13 Notion `{{credential.notion_token}}` 真讀到資料(同等於 8.5 OpenAI 驗收,機制與服務無關)。tasks.md 8.5 已補 `[x]` |
| §8 P1/P2 recipe/workflow list 遷 D1 | 🔴 高 | 架構已拍板未動 code | 走 kbdb /entries HTTP 雙寫不加 binding;依賴 D1(現已可建)。另開 session 做 |
| 4 份 inline http_request host fn 抽共用 helper | 🟡 中 | 待 dedup | http_request/claude_api/kbdb_upsert_block/km_writer 各自複製貼上同段(這次假綠修也是逐份改) |
| `arcrun.dev/llms.txt` 404 | 🟡 中 | 未 serve | landing/public 缺檔;GitHub repo 內正常(test/5 走 GitHub 不阻擋) |
| MCP account-source | 🟡 中 | 記錄中 | self-hosted MCP 指官方不指自己(§5.2 已知) |
| recipe submitted 後沒有 uuid | 🟡 中 | 待驗 | submit-p 應回 uuidCLI 拿不到 |
| ~~KV list 爆量~~ | ✅ 已解 | §8 P0 部署 | cron list→單 key get1440/日→02026-06-09 |
| ~~onboarding 缺陷(4 項)~~ | ✅ 已解 | §7.8 P0/P1/P2 + P3 部分 | CLI 1.3.4Haiku 壓測證實裝+init 不跳過 |
| ~~D1 建不起來~~ | ✅ 已解 | update 補 ensureD1Database + token 加 D1 權限 | 2026-06-09D1 已建 count:1 |
| ~~http_request 401 假綠~~ | ✅ 已解 | host fn 非 2xx 回 error envelope | 4 worker deployauth_sa 不套 |
| ~~acr run self-hosted 404 爆~~ | ✅ 已解 | 本機 YAML 走 /cypher/execute + res.ok 擋 | CLI 1.3.4 |
| ~~npm publish~~ | ✅ 已解 | token 在 .env NPM_API_TOKEN | 走 local-deploy.sh step 6,別手動繞 |
---
## 🧪 測試進度
### 壓測 2026-06-08Haiku 乾淨重測)
- **目標**kbdb-base §7.5 公庫/私庫 + UUID 驗收
- **對象**:Haiku(全程自主操作)
- **測試檔**`/test_arcrun/3/test_to_haiku.md`9 個步驟)
- **撞牆記錄**`/test_arcrun/撞牆記錄.md`
- **狀態**:準備妥當,awaiting Haiku run
### 前次壓測(2026-06-07
- ✅ kbdb-base §7.5 上線前驗收(16 項通過)
- 📋 發現 onboarding 四缺陷(Cold.1-8
---
## 🚫 封測狀態
**推遲**richblack 2026-04-19 決定,後延至 2026-06-08 依舊推遲)
**原因(2026-07-21 更新)**
- ~~Phase 1-3auth WASM + 清除違規 TS)未完~~ ✅ **已完成**credential-primitives-wasm 卷已封存
- 殘留:`auth_mtls` 未實作、self-hosted auth 鏈端到端未驗(均需另立新 SDD)
**啟動條件**:原「Phase 1-3 完成」已達成;壓測 Haiku 自癒能力驗證仍待做。
封測是否啟動屬 leo 的決定,不由本檔認定。
---
## 📋 下一步(優先級)— 2026-06-25 更新
### 🔴 最優先
1. [x] ~~**credential 注入 401 修復**~~**已端到端實證打通**2026-06-13 Notion `{{credential.notion_token}}` 真讀到資料;tasks.md 8.5 已補 `[x]`)。機制完成,非阻擋。
2. [ ] **§8 P1/P2 recipe/workflow list 遷 D1**D1 現已可建(依賴解除)。走 kbdb /entries HTTP 雙寫不加 binding。
大、易出錯,另開乾淨 session + 壓測。**← 現在的真.最優先未做項。**
### 🟡 本周
3. [x] ~~credential-primitives-wasm Phase 0.6-0.7 → Phase 1-2auth WASM 零件)~~ ✅ 完成,卷已封存
4. [ ] 4 份 inline http_request host fn 抽共用 helperdedup;這次假綠修是逐份改的)
5. [x] ~~清除 cypher-executor 違規 TSPhase 3~~ ✅ 完成(三者 grep 皆 0 筆,T10 於 2026-07-20
5b. [ ] **`auth_mtls` 零件從未實作**(封存卷殘留缺口,要做需另立新 SDD)
5c. [ ] **self-hosted auth 鏈端到端驗收**(原 7.6,同上需另立 SDD
### ⚪ 未來
6. [ ] `arcrun.dev/llms.txt` servelanding/public 補檔)
7. [ ] 補 wiki modules/(文件遷移階段一~三已於 2026-06-14 完成)
8. [ ] MCP account-source、recipe submit uuid 回傳
---
## 🔗 相關資源
| 資源 | 位置 | 用途 |
|------|------|------|
| 總進度 | `docs/3-specs/arcrun/arcrun.md` | 全景進度表 |
| 現行 active SDD | `bash system-dev/scripts/sdd-active-check.sh` | 唯一判準=frontmatter `status: active`D35 單一活性) |
| ~~credential-primitives-wasm~~closed | `system-dev/docs/3-specs/archive/credential-primitives-wasm/` | 已封存,勿當進行中 |
| 壓測 case | `/test_arcrun/2/test_case.md` / `3/test_to_haiku.md` | 功能驗收 |
| 事件復盤 | `/docs/incidents/` | 歷史踩坑 |
| 常犯錯誤 | `.claude/wiki/mistakes.md` | 自檢清單 |
| 架構決策 | `.claude/wiki/decisions-summary.md` | 設計參考 |
---
## 版本日誌
| 日期 | 變動 |
|------|------|
| 2026-06-08 | 初建。MCP bug 修正完成、wiki 系統搭建、壓測 Haiku 進行中 |
| 2026-06-08(補) | Haiku 壓測發現 Cold 驗證缺陷:init 無強制檢查點 → 假綠風險。記入 mistakes.md §11 |