新穎性涵蓋範圍
一個唯讀、基於搜尋、針對文件型人工製品(設計論文、研究文件、規格書)的每項創新主張碰撞偵測器。它開啟了結果軸的新穎性表面,這是 cross-source-review (csr)、primary-source-verification (psv) 和 blueprint-crafting 的 researcher 都未能觸及的:csr 收斂文件的流程軸,但不會搜尋先前技術;psv 會擷取每個已引用的來源(向後,已引用),但不會追捕未引用的先前技術;researcher 則是向前收集來源以進行創作(方向相反)。prior-art-search 是缺失的向後、未引用之先前技術碰撞檢查 — 它會針對每個創新主張搜尋先前技術語料庫,並誠實地報告碰撞。
核心定位
基於搜尋,而非基於回憶
一個 collision / uncited-relevant 的發現必須引用從找到的先前技術中擷取到的引用,而不是模型回憶。無法基於找到的先前技術文字提供擷取引用的發現,將被降級為 inconclusive,絕不會被斷言。這是承載不變性(工作區規則 3 + L1),並由自我閘門 (NC-I5) 強制執行。找到的文字本身是從搜尋結果中由模型提取的 — 這是一個比 psv 的擷取權威來源更弱的預言機(請參閱下面的兩層注意事項)。
每項主張碰撞涵蓋範圍,而非新穎性判決
prior-art-search 從不發出 novel_confirmed 或「該文件是新穎的」。它唯一的頂線訊號是 collisions_under_known_coverage:在 M 個提取的創新主張中,C 為 clear-under-search、N 為 collisions、U 為 uncited-relevant、I 為 inconclusive。I 主張(以及 M=0 的情況 — 無創新表面)會升級給人類。這是一個誠實的涵蓋範圍揭露,而非新穎性判決。不可還原的缺乏證據限制:你無法證明一個否定(「不存在先前技術」),因此一份未發現碰撞的文件是「在搜尋的語料庫中未發現碰撞」,而不是「新穎的」。一個對稱的「新穎性收斂」技能,若循環到一個 novel_confirmed 布林值,則是一種範疇錯誤 — 它將一個涵蓋範圍揭露(「在搜尋的語料庫中未發現碰撞」)扁平化為一個判決(「新穎的」),也就是將缺乏證據視為證據不存在;prior-art-search 明確地不是那樣。(更廣泛的雙軸框架 — 流程 × 結果 — 是 spec-gaming 論文 §4.2;prior-art-search 完全位於結果軸上,因此其錯誤是結果內部的,而不是流程/結果的混淆。)
對 csr 和 psv 的附加;單一管道
prior-art-search 是附加於 csr(流程軸)和 psv(已引用來源驗證)的;它不會與任何一個合併。與 csr 的同族 + 異族多輪辯論不同,prior-art-search 是一個單一管道 — 提取創新主張 → 搜尋先前技術 → 每項主張碰撞判決 → 涵蓋範圍揭露。預言機是可搜尋的先前技術語料庫,而不是一個異族模型,因此它不會移植 csr 的異質基底。psv 和 prior-art-search 可以組合:一份高風險的文件可能會執行 psv(已引用的來源是否準確?)以及 prior-art-search(新穎性主張相對於可找到的先前技術是否無碰撞?)。它們不會合併。
兩層預言機弱點,誠實陳述(工作區規則 3)
prior-art-search 的預言機是可搜尋的先前技術語料庫,在兩個層面上都比 psv 的擷取主要來源更弱(承載誠實注意事項,提案 §3 / ADR §8 Q4):
- 比較端弱點(與 psv 共享)。 主張與先前技術的比較是由模型判斷的 —
clear-under-search表示模型未發現碰撞,而非不存在碰撞。這是 psv 的第 2 層部分比較弱點。 - 選取端弱點(prior-art-search 獨有)。 搜尋結果在比較弱點之上增加了一個選取弱點:排序偏誤、回憶限制(你無法搜尋整個語料庫),而且找到的先前技術文字本身是從搜尋回傳結果中由模型提取的,而不是擷取的權威位元組範圍。
因此 prior-art-search 在兩個層面上都較弱,而不是「弱預言機 vs. 強預言機」。這正是它從不發出 novel_confirmed 的原因,以及為什麼它的頂線是涵蓋範圍陳述,而不是判決。clear-under-search 表示「在搜尋的內容中未發現碰撞」,而不是「新穎的」。較弱的預言機是在缺乏人類判斷的情況下,進行新穎性檢查的不可還原限制。
兩個盲點,誠實陳述(工作區規則 3)
prior-art-search 自身由模型執行的步驟攜帶了已揭露而非隱藏的盲點:(1) 創新主張提取繼承了提取器的盲點 — 作者或提取器均未識別為「新穎性」的主張將從 M 中缺失;(2) 主張與先前技術的比較是由模型判斷的 — clear-under-search 表示模型未發現碰撞,而非不存在碰撞。C/N/U/I/M 計數是有條件的,取決於提取、搜尋和比較的內容,而不是完整性的保證。一個異族提取腳是已延遲的緩解措施(部分)。
範圍
- 範圍內:從文件中提取原子創新主張(每個主張:位置 + 搜尋目標);針對每個主張搜尋先前技術語料庫;發出基於找到的先前技術引用之每項主張碰撞判決(collision/uncited-relevant/clear-under-search/inconclusive);發出碰撞記錄(
collisions_under_known_coverage)+ 碰撞發現資料包。 - 範圍外:程式碼審查(
parallel-development);規格/架構設計創作(blueprint-crafting);文件流程收斂(cross-source-review);已引用來源驗證(primary-source-verification);研究收集(blueprint-crafting researcher);新穎性判決 — 無論文件的新穎性是真實的還是顯著的 —(人類)。
範圍閘門(進入時偵測)
- 交付物是原始碼/測試程式碼 → 路由至
parallel-development。 - 交付物是創作/重寫規格、架構設計、迭代計畫或研究 → 路由至
blueprint-crafting。 - 請求是「針對此文件進行對立多輪審查以達收斂」 → 路由至
cross-source-review(流程軸)。 - 請求是「此文件的已引用主張是否經得起其來源的考驗?」 → 路由至
primary-source-verification(psv = 向後-已引用;prior-art-search = 向後-未引用)。 - 請求是「此文件是否誇大新穎性 — 與其未引用的先前技術碰撞?」 → prior-art-search(此技能)。
- 請求是「這是否新穎 / 顯著 / 是正確的貢獻?」 → 結果軸,僅限人類。
閘門是軟性的(提醒 + 路由,而非拒絕)。階段 A 依賴明確調用(/prior-art-search)。
快速開始
你是編排者。各個腳是唯讀的;驅動程式執行單一管道(不是多輪辯論)。按順序執行。
-
框架 — 識別人工製品 + 其新穎性表面。列舉核心創新主張(需要進行碰撞檢查的承載性「X 是新的 / 首創 / 沒有先前技術」斷言)。宣告範圍。
-
創新主張提取 (NC-I2) — 生成
solidforge:novelty-claim-extractor(新上下文);它讀取人工製品並列舉原子創新主張,每個主張都與一個位置和搜尋目標相關聯。原子 = 每個主張一個新穎性命題(複合主張需拆分)。創新主張是新穎性的斷言(「X 是一個新的框架」、「Y 是第一個…」、「Z 沒有先前技術」)。需區分於事實/引用主張(psv 的領域 — 驗證,而非碰撞檢查)和解釋性主張(「這很重要」 — 不可透過搜尋裁定;升級給人類,標記為不可受理)。(提取器盲點注意事項:雙方均未識別為「新穎性」的主張將從 M 中缺失。) -
多來源搜尋 + 碰撞判決 (NC-I3) — 針對每個創新主張,搜尋先前技術語料庫(arXiv、網路、公開儲存庫)中已經提出該主張的作品,然後將主張與找到的先前技術進行比較,並分配以下之一:
collision— 找到的先前技術已經提出此主張(文件的新穎性被誇大);引用碰撞來源 + 引用找到的先前技術文字(嚴重程度blocker;evidence必須引用找到的先前技術)。uncited-relevant— 找到文件未引用的相關作品(非直接碰撞,但涵蓋範圍有缺口);引用找到的先前技術(嚴重程度warning)。clear-under-search— 在搜尋的語料庫中未發現碰撞(不是novel;只是沒有碰撞浮現)。僅計數,非發現。inconclusive— 搜尋無法涵蓋該主張(付費語料庫、模糊查詢、找不到任何東西);升級給人類(嚴重程度coverage)。 開放來源(arXiv 摘要、公開儲存庫)無需憑證即可搜尋;網路搜尋 API 使用獨立命名的 HTTP 表面(不是 csr 的_ANTHROPIC_AUTH_TOKENLLM 權杖命名空間 — 請參閱 install.md)。(比較盲點注意事項 + 選取端弱點。)
-
涵蓋範圍揭露 (NC-I4) — 發出一個
collision-record:collisions_under_known_coverage= C clear-under-search / N collisions / U uncited-relevant / I inconclusive 共 M = C+N+U+I 個提取的創新主張;加上一個碰撞發現資料包(collision / uncited-relevant / inconclusive 發現;clear-under-search主張僅計數,不列出)。M=0(無可提取的創新主張 — 一份未提出新穎性斷言的文件,或所有創新主張都是解釋性的)和 I>0 都升級給人類。從不novel_confirmed。一個沒有引用引用的 collision/uncited-relevant 發現將被降級為inconclusive。
誠實的訊號是涵蓋範圍揭露 — 搜尋了什麼、碰撞了什麼,以及無法涵蓋什麼。文件是否真正新穎仍由人類判斷。
權威鏈
docs/proposal.md= 權威設計(主文件;CSR 流程軸 實質收斂 + psv N=9/K=0 已驗證,2026-07-31)。docs/iteration-plan.md= 執行藍圖(階段 A 工作項目 NC-I0–NC-I6;如有衝突,proposal.md 優先)。docs/design-decisions.md= ADR 日誌(非顯而易見的決策:永遠不 novel_confirmed、單一管道非辯論、假陽性結構代理、兩層搜尋預言機弱點、與 psv/researcher 的關係、憑證表面)。docs/proposal.convergence.md= 提案的跨審查軌跡。
與 cross-source-review / primary-source-verification / blueprint-crafting / parallel-development 的協調
cross-source-review維持流程軸收斂引擎。prior-art-search 是附加且不與其合併:csr 的substantive_converged並不意味著 prior-art-search 的涵蓋範圍,反之亦然。primary-source-verification是互補的結果軸腳。psv = 向後-已引用(擷取每個已引用來源);prior-art-search = 向後-未引用(搜尋文件未引用的先前技術)。它們可以組合(一份文件可能同時執行兩者);它們不會合併。prior-art-search 重用了 psv 的 schema-field 模式(collision-findings 擴展了 psv 的 doc-findings — 嚴格的超集)和install.md的憑證推理 — 複製模式,而非程式碼(工作區規則 7)。blueprint-crafting維持純粹性(流程軸)。其researcher是向前收集(「尋找關於 X 的來源以進行創作」)— 方向與 prior-art-search 的向後碰撞相反。它們不會合併。parallel-development擁有程式碼審查。prior-art-search 是文件形狀,而非程式碼形狀。files_touched邊界:此技能擁有prior-art-search/+ 儲存庫根目錄下的agents/novelty-claim-extractor.agent.md(鏡像 psv 的solidforge:claim-extractor)。它不會修改 csr、psv、bc 或 pd 的核心邏輯(prior-art-search 是附加的)。術語(工作區規則 10):collisions_under_known_coverage是唯一的頂線術語;novel_confirmed是被禁止的術語,絕不出現為已發出的欄位。
自我檢查(完成定義)
成熟度說明(階段 A 建置): 以下所有自我閘門均已部署並通過綠色(NC-I0–NC-I6 已收斂;
docs/iteration-plan.run-record.json承載判決)。即時 N≥3 狗糧測試已於 2026-08-01 在 3 個真實人工製品(包括長篇 spec-gaming 論文)上執行 — 涵蓋概況請參閱 docs/dogfood-run-2026-08-01.md:透過找到的先前技術浮現了 2 個 uncited-relevant 發現(spec-gaming NC34 ↔ SWE-ABS;psv NC2 ↔ AI-Powered Citation Auditing),且已知的自我認證悖論碰撞在僅 arXiv 的預言機下以 clear-under-search 回傳 — 展示了生產環境中的兩層弱點(零碰撞結果是「在搜尋的內容中未發現碰撞」,不是「新穎的」)。離線dogfood.py閘門僅涵蓋規範固定裝置(無網路時的路徑 1 跳過)。剩餘延遲:一個異族提取腳(提取器盲點的部分緩解)。名稱prior-art-search是提議的,待人類鎖定(提案 §8 Q1)。
在任一自我檢查失敗時,技能變更都不算完成(工作區規則 1)。在提交前執行:
python3 skills/prior-art-search/infra/test/disconnect_check.py # 結構 + 載入鏈
python3 skills/prior-art-search/infra/test/plugin_layout.py # 外掛佈局
...
[後續內容因翻譯而截斷]