Communitygithub.com

maskshell/solidforge

一個為 AI 編碼代理設計的循環工程系統,以 Claude Code 外掛形式提供。收斂 → 明確規格 → 實作:具雙環收斂閘門的平行 TDD 開發、對立跨來源審查、源頭基礎引用驗證,以及先前技術碰撞搜尋 — 每個閘門都提供誠實的涵蓋範圍,絕不無聲無息地通過。

solidforge 是什麼?

maskshell/solidforge 是一個為 AI 編碼代理(特別是 Claude Code)設計的循環工程系統,作為外掛使用。它實作了一種結構化的開發流程:首先收斂需求,接著明確規格,最後進行實作。此系統採用平行 TDD(測試驅動開發)搭配雙環收斂閘門,確保步驟之間的平穩過渡。它整合了對立跨來源審查(CSR),透過多輪辯論來提高文件的正確性;主要來源驗證(PSV),從其原始來源驗證引用;以及先前技術搜尋,這是一種基於搜尋的碰撞偵測器,用於檢查文件的創新主張是否與已知的先前技術衝突。SolidForge 的關鍵原則是誠實的涵蓋範圍揭露:它絕不發出 `novel_confirmed` 的判定,而是提供 `collisions_under_known_coverage` 等透明度報告。該系統以單一管道運作,提取創新主張、搜尋先前技術、報告碰撞,並將不明確或無創新主張的情況升級給人類。它與 CSR、PSV、藍圖設計和並行開發等其它技能相輔相成,而不會與它們合併,從而在開發工作流程中提供一個專注的創新驗證層。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add maskshell/solidforge

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

新穎性涵蓋範圍

一個唯讀、基於搜尋、針對文件型人工製品(設計論文、研究文件、規格書)的每項創新主張碰撞偵測器。它開啟了結果軸的新穎性表面,這是 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):

  1. 比較端弱點(與 psv 共享)。 主張與先前技術的比較是由模型判斷的 — clear-under-search 表示模型未發現碰撞,而非不存在碰撞。這是 psv 的第 2 層部分比較弱點。
  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)。

快速開始

你是編排者。各個腳是唯讀的;驅動程式執行單一管道(不是多輪辯論)。按順序執行。

  1. 框架 — 識別人工製品 + 其新穎性表面。列舉核心創新主張(需要進行碰撞檢查的承載性「X 是新的 / 首創 / 沒有先前技術」斷言)。宣告範圍。

  2. 創新主張提取 (NC-I2) — 生成 solidforge:novelty-claim-extractor(新上下文);它讀取人工製品並列舉原子創新主張,每個主張都與一個位置和搜尋目標相關聯。原子 = 每個主張一個新穎性命題(複合主張需拆分)。創新主張是新穎性的斷言(「X 是一個新的框架」、「Y 是第一個…」、「Z 沒有先前技術」)。需區分於事實/引用主張(psv 的領域 — 驗證,而非碰撞檢查)和解釋性主張(「這很重要」 — 不可透過搜尋裁定;升級給人類,標記為不可受理)。(提取器盲點注意事項:雙方均未識別為「新穎性」的主張將從 M 中缺失。)

  3. 多來源搜尋 + 碰撞判決 (NC-I3) — 針對每個創新主張,搜尋先前技術語料庫(arXiv、網路、公開儲存庫)中已經提出該主張的作品,然後將主張與找到的先前技術進行比較,並分配以下之一:

    • collision — 找到的先前技術已經提出此主張(文件的新穎性被誇大);引用碰撞來源 + 引用找到的先前技術文字(嚴重程度 blocker;evidence 必須引用找到的先前技術)。
    • uncited-relevant — 找到文件未引用的相關作品(非直接碰撞,但涵蓋範圍有缺口);引用找到的先前技術(嚴重程度 warning)。
    • clear-under-search — 在搜尋的語料庫中未發現碰撞(不是 novel;只是沒有碰撞浮現)。僅計數,非發現。
    • inconclusive — 搜尋無法涵蓋該主張(付費語料庫、模糊查詢、找不到任何東西);升級給人類(嚴重程度 coverage)。 開放來源(arXiv 摘要、公開儲存庫)無需憑證即可搜尋;網路搜尋 API 使用獨立命名的 HTTP 表面(不是 csr 的 _ANTHROPIC_AUTH_TOKEN LLM 權杖命名空間 — 請參閱 install.md)。(比較盲點注意事項 + 選取端弱點。)
  4. 涵蓋範圍揭露 (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           # 外掛佈局
...

[後續內容因翻譯而截斷]

相關技能