From 6e5009ff3511618180ef22ca42390d40896c278a Mon Sep 17 00:00:00 2001 From: richblack Date: Fri, 24 Jul 2026 13:21:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(daemon-beta=20t6):=20ingest=20path=20?= =?UTF-8?q?=E6=94=B9=E5=B8=B6=E5=8E=9F=E6=AA=94=E8=B7=AF=E5=BE=91=E2=80=94?= =?UTF-8?q?=E2=80=94=E4=BF=AE=20takedown=200=20=E5=91=BD=E4=B8=AD=E5=AD=A4?= =?UTF-8?q?=E5=85=92=20bug=EF=BC=88=E7=AC=AC=E4=BA=94=E6=9E=9A=E7=9C=9F?= =?UTF-8?q?=E6=A9=9F=E5=9D=91=EF=BC=89=EF=BC=9Bmistakes=20=E8=A3=9C?= =?UTF-8?q?=E6=88=90=E5=B0=8D=E6=93=8D=E4=BD=9C=E5=90=8C=E9=8D=B5=E6=95=99?= =?UTF-8?q?=E8=A8=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- direct.go | 5 ++++- direct_extract_test.go | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/direct.go b/direct.go index c619d16..e46003f 100644 --- a/direct.go +++ b/direct.go @@ -292,9 +292,12 @@ func runDirectOnceRoot(cfg *DirectConfig, root string, dryRun bool) ([]DirectRes ok = false break } + // path 帶「原檔路徑」不是卡片路徑(07-24 真機第五枚坑): + // source_uri=kb:// 是 takedown 的比對鍵,也是 B4 溯源該指的原文—— + // 帶卡片路徑會讓「刪原檔→下架」永遠 0 命中。 status, _, perr := cfg.postJSON(cfg.triggerURL(cfg.CardIngestWF), map[string]any{ "page_name": pageNameOf(cardRel), - "path": cardRel, + "path": ev.Path, "card_content": string(cardData), "library": cfg.Library, }) diff --git a/direct_extract_test.go b/direct_extract_test.go index 6f4606a..023714e 100644 --- a/direct_extract_test.go +++ b/direct_extract_test.go @@ -71,8 +71,9 @@ func TestDirectExtractorModeE2E(t *testing.T) { if strings.Contains(cc, "XYZZY") { t.Fatal("原文內容洩上雲=違反四步定稿邊界") } - if p, _ := posted[0]["path"].(string); p != "system-dev/wiki/cards/報銷規則.md" { - t.Fatalf("path=%q", p) + // path 必須是「原檔路徑」(takedown 比對鍵+B4 溯源)——不是卡片路徑(07-24 第五枚坑) + if p, _ := posted[0]["path"].(string); p != "報銷規則.md" { + t.Fatalf("path=%q(應為原檔路徑)", p) } // 第二輪:原稿沒變 → 不重萃不重送 results2, exit2, _ := RunDirectOnce(cfg, false)