feat(collector): daemon 產出改成規範形 wiki 卡——1 文件卡+N 原子卡落 .wiki/(InkStoneCo#44 ④)
LLM 只回 JSON 判斷,格式/落點/連結閉合/索引/manifest 全由 wikishape.go 機械組裝: - 卡形=frontmatter(tags/gloss/created/updated)+← 上層+摘要/重點/實體(帶類型)/ 關聯(內文知識關係/卡片關係/出處)——差距表 #6 - 落點 <節點>/.wiki/、檔名=H1(.wiki 隱藏目錄自身即機器標記,machinemark 例外③)——#7 - 00-INDEX 機械維護:每行五樣照抄 frontmatter;每份原稿必列——#8 - 萃取端就切 1 hub+N 原子卡(gemma 路 prompt 改 JSON 契約)——#9 - 無可萃概念標「空」+理由,上索引不產卡——#10 機械保證對著 wiki-lint.py 寫:斷連結拆殼、index 式句改寫、三元組恰三項、 雙向邊自動補反向、佔用不覆蓋、原稿永不動;同名概念跨文件先消歧(merge 歸第⑤環)。 scan/convert 白名單補 .feature/.yaml/.yml/.org/.rst(規範洞 6); lint.go 新舊格式雙軌(workers-ai 雲端 prompt 屬 matrix/arcrun 核心,待開票); direct.go 只送文件卡上雲(takedown 配對鍵不變)、下架收走 .wiki 產物。 實測:真資料夾+真 Gemini → 2 節點 12 卡,wiki-lint 17/17 exit 0, 原稿 sha256 前後不變;go test collector+supervisor+arcrun-app 全綠(新增 9 案)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+8
-10
@@ -324,19 +324,17 @@ func TestVaultFootprint_WatchRootInsideVault(t *testing.T) {
|
||||
if len(added) == 0 {
|
||||
t.Fatal("這一輪什麼都沒產出——紅線是「東西照樣產出、但不撞進使用者的命名空間」")
|
||||
}
|
||||
// 產物一律落在 docs/.arcrun-rag/ 底下(在監看根裡,且是隱藏的),
|
||||
// 其中**卡片**還要再進一層 wiki/cards/。
|
||||
// 分兩層檢查是因為工作區裡不只有卡片:#105 起還有一份 `.gitignore`
|
||||
// (讓整個工作區對 git 隱形)。它同樣是隱藏的、同樣不撞使用者的命名空間,
|
||||
// 但它本來就不該住在 cards/ 裡。
|
||||
// 產物一律落在兩個隱藏目錄底下(都在監看根裡):
|
||||
// `docs/.arcrun-rag/`=工作區(.gitignore 等)
|
||||
// `docs/.wiki/`=wiki 產物(InkStoneCo#44 ④ 起:卡片+00-INDEX+manifest)
|
||||
workspacePrefix := filepath.ToSlash(filepath.Join("docs", workspaceRelDir)) + "/"
|
||||
cardsPrefix := filepath.ToSlash(filepath.Join("docs", vaultCardsRelDir)) + "/"
|
||||
wikiPrefix := filepath.ToSlash(filepath.Join("docs", wikiRelDir)) + "/"
|
||||
for _, rel := range added {
|
||||
if !strings.HasPrefix(rel, workspacePrefix) {
|
||||
t.Fatalf("產物 %s 不在預期的隱藏工作區 %s 底下", rel, workspacePrefix)
|
||||
if !strings.HasPrefix(rel, workspacePrefix) && !strings.HasPrefix(rel, wikiPrefix) {
|
||||
t.Fatalf("產物 %s 不在預期的隱藏目錄(%s 或 %s)底下", rel, workspacePrefix, wikiPrefix)
|
||||
}
|
||||
if strings.HasSuffix(rel, ".md") && !strings.HasPrefix(rel, cardsPrefix) {
|
||||
t.Fatalf("卡片 %s 不在預期的隱藏卡片區 %s 底下", rel, cardsPrefix)
|
||||
if strings.HasSuffix(rel, ".md") && !strings.HasPrefix(rel, wikiPrefix) {
|
||||
t.Fatalf("卡片 %s 不在預期的隱藏 wiki 區 %s 底下", rel, wikiPrefix)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user