feat(collector): 卡片上雲前先問「這些宣稱在原文的哪裡」——H7 憑空指稱/H8 宣稱通膨(InkStoneCo#44)

2026-08-16 實測:同一個 220 bytes 的來源檔、同一個模型(workers-ai)、同一個
雲端版本(1.4.46),geek6688 萃出四條全部追得回原文,youlin 萃出八條、其中四條
(Windows/macOS/Linux/每 30 天)在原文零命中——**而那張假卡帶著真實存在的
source_path**。出處在,內容是編的;引用沒有阻止幻覺,反而讓幻覺更可信。

缺的不是更好的模型(機率性,換模型只會降低頻率、讓它更難被發現),
也不是更嚴的提示詞(同一件事的較弱版本,且無法驗證)。
缺的是一道驗證:卡片產出之後、寫進知識庫之前,沒有一步問過「原文的哪裡」。

線畫在哪(grounding.go 檔頭全文):**改寫改的是「怎麼說」,編造加的是「在說什麼」**。
摘要/換句話說/把 EARS 句翻成人話全是正當加工,所以刻意**不比對 CJK 詞**
(原文是英文、卡片是中文時,逐字比對會把忠實翻譯全部誤殺)。
只檢查翻譯與改寫都帶不走的錨點:拉丁專名、兩位數以上的數字。
另加 H8 從數量那一軸看:宣稱數 > 原文斷言數 × 3 = 輸入貧乏卻產出豐富。

分級:兩項都是**軟項**不是硬缺——使用者的知識被丟掉比被標記可疑更糟。
掛載點沿用 direct.go:1206 既有的 LintCard(萃完、POST 前),不新增資料寫入路徑。

順手修:`collector lint <卡> --source <原稿>` 的旗標被 Go flag 靜默忽略,
H6/H7/H8 全跳過還印出漂亮的空結果 `{}`——查幻覺的工具自己靜默不查。

未動(依 SDD 生命週期第 3 條寫成 pending-changes.md P12 等 confirm):
- H6 長度上限對薄原稿是反的,正把**忠實的卡**打成「疑似整段照抄」(實測 469 字 vs 上限 132)
- 軟項沒有出海口:ingest 工作流一個 quality 欄位都沒讀,標了等於沒標

驗證(離線夾具 collector/testdata/grounding/,不依賴任何線上實例):
- 正面:youlin 卡 → H7 抓到 windows/macos/linux/30,H8 抓到 8 條 vs 上限 6
- 反面:geek6688 卡 → H7/H8 零命中
- 邊界:跨語言(英→中)與同語言整段換詞兩組合理改寫 → 零誤殺
This commit is contained in:
2026-08-16 21:38:52 +08:00
parent 345be49d4d
commit 021b3962e2
11 changed files with 750 additions and 10 deletions
+27
View File
@@ -0,0 +1,27 @@
---
tags: [權限, 稽核, 外掛]
gloss: 未取得授權就不得讀取,且每次拒絕都要留痕、重開時重驗
created: 2026-08-16
updated: 2026-08-16
---
# 存取控管政策
← [[00-INDEX]]
## 摘要
這份政策把「能不能看」這件事拆成三個時間點來管:讀取當下要先確認眼前這個人有沒有被授權、被擋下來的那一刻要留下痕跡讓管理者事後查得到、以及工作區重新開啟時不沿用上一次的判斷而是重新確認一遍。
## 重點
- 眼前這位使用者尚未被授予權限時,外掛不得取用筆記內容
- 每一次被擋下來都要留痕,讓管理者事後查得到
- 工作區重新開啟時不沿用舊判斷,權限要重新確認
## 實體
- **外掛**(工具)— 受本政策約束的程式
- **管理者**(人物)— 事後查閱留痕的人
## 關聯
### 內文知識關係
### 卡片關係
### 出處
- `../access.md` >> 提及 >> 存取控管政策
+26
View File
@@ -0,0 +1,26 @@
---
tags: [交件, 複核, 流程]
gloss: 遞交前需第二人複核,事後更動一律重跑審查
created: 2026-08-16
updated: 2026-08-16
---
# 交件規範
← [[00-INDEX]]
## 摘要
這條規範把責任放在「交出去之前」與「交出去之後」兩端:前端要求文稿不能由撰寫者一個人決定完成,必須有第二雙眼睛過目;後端則規定既已遞交的內容不存在小修捷徑,任何更動都退回流程起點重新跑一輪。
## 重點
- 文稿不得由撰寫者獨自定案,須經第二人過目才可遞交
- 已遞交的內容若有更動,必須退回起點重跑審查流程
## 實體
- **文稿**(檔案)— 受本規範約束的產出
- **第二人**(人物)— 遞交前負責過目的另一位同事
## 關聯
### 內文知識關係
### 卡片關係
### 出處
- `../delivery.md` >> 提及 >> 交件規範
+28
View File
@@ -0,0 +1,28 @@
---
tags: [Logseq, 外掛, 需求]
gloss: Logseq 外掛的需求文件,載明繼承的限制與一條功能需求
created: 2026-08-16
updated: 2026-08-16
---
# Requirements (Logseq-plugin)
← [[00-INDEX]]
## 摘要
這份文件是一個 Logseq 外掛的需求規格,由兩部分組成:一段宣告本文件的限制繼承自根目錄的 CONSTITUTION.md,以及一條寫成條件句的功能需求——在使用者操作筆記軟體、外掛被啟動的情況下,系統要提供強化後的功能。
## 重點
- 使用者啟用外掛時,系統必須增強功能
- 外掛必須繼承自根目錄 CONSTITUTION.md 的限制
- 系統必須在使用者使用 Logseq 時啟用外掛
- 外掛功能必須在 Logseq 中執行
## 實體
- **Logseq**(工具)— 這份需求所針對的筆記軟體
- **CONSTITUTION.md**(檔案)— 根目錄的限制來源
## 關聯
### 內文知識關係
### 卡片關係
### 出處
- `../requirements.md` >> 提及 >> Requirements (Logseq-plugin)
+32
View File
@@ -0,0 +1,32 @@
---
tags: [Logseq, 外掛, 需求]
gloss: Logseq 外掛的需求文件,涵蓋平台支援、權限、稽核與更新
created: 2026-08-16
updated: 2026-08-16
---
# Requirements (Logseq-plugin)
← [[00-INDEX]]
## 摘要
這份文件是一個 Logseq 外掛的需求規格,載明外掛繼承根目錄 CONSTITUTION.md 的限制,並列出外掛在啟用後應提供的功能、支援的作業系統、權限控管方式,以及更新與稽核的規定。
## 重點
- 使用者啟用外掛時,系統必須增強功能
- 外掛必須繼承自根目錄 CONSTITUTION.md 的限制
- 系統必須在使用者使用 Logseq 時啟用外掛
- 外掛功能必須在 Logseq 中執行
- 系統必須在 Windows、macOS 或 Linux 上運行
- 外掛程式必須在使用者未授權時拒絕存取敏感資料
- 系統必須記錄使用者操作日誌
- 外掛程式必須每 30 天檢查一次更新
## 實體
- **Logseq**(工具)— 這份需求所針對的筆記軟體
- **CONSTITUTION.md**(檔案)— 根目錄的限制來源
## 關聯
### 內文知識關係
### 卡片關係
### 出處
- `../requirements.md` >> 提及 >> Requirements (Logseq-plugin)
+5
View File
@@ -0,0 +1,5 @@
# Access Control Policy
The plugin must refuse to read a note when the current user has not granted permission.
Every refusal is written to the audit trail so that an administrator can review it later.
Permissions are checked again whenever the workspace is reopened.
+4
View File
@@ -0,0 +1,4 @@
# 交件規範
- 每份文件在送出之前,必須由另一位同仁看過一遍。
- 送出之後若要修改,一律重新走一次送審。
+8
View File
@@ -0,0 +1,8 @@
# Requirements (Logseq-plugin)
## Constraints
> [!NOTE]
> Inherited from root CONSTITUTION.md
## Functional Requirements
- While <User uses Logseq>, When <Plugin activated>, the <System> shall <Enhance functionality>.