name: prior-art-search
description: prior-art-search — 読み取り専用、検索に基づく、新規性主張ごとの衝突検出器。ドキュメントの新規性主張に対して先行技術コーパスをSEARCHし、先行技術衝突(衝突 / 非引用関連 / 検索範囲内でクリア / 非決定的)を判定し、正直なカバレッジ開示(collisions_under_known_coverage)を出力します。ドキュメントの新規性主張が先行技術と衝突していないか確認するために使用します — 「この論文は新規性を過大主張していないか」「このフレーミングは既に文献にあるか」。各主張の衝突パケットと衝突記録を生成します。決してnovel_confirmedは出力しません。コードレビュー(並列開発)、仕様作成(設計図作成)、ドキュメントのプロセス収束(クロスソースレビュー)、引用されたソースの検証(一次ソース検証 — psv後方引用、prior-art-search後方非引用)、前方研究収集(設計図作成リサーチャー)には使用しません。ドキュメントの新規性が実際に存在するか、重要であるかは判断しません(結果軸 — 人間)。フェーズA: 明示的呼び出し(/prior-art-search)。
新規性カバレッジ
ドキュメント形状の成果物(設計論文、研究ドキュメント、仕様)に対する、読み取り専用で検索に基づく、新規性主張ごとの衝突検出器。cross-source-review(csr)、primary-source-verification(psv)、blueprint-craftingのresearcherのいずれも到達しないOUTCOME軸の新規性表面を開きます:csrはドキュメントのPROCESS軸を収束させますが、先行技術を検索しません;psvは引用された各ソースをFETCHします(後方、引用)が、非引用の先行技術を追跡しません;researcherは作成のために前方にソースをGATHERします(逆方向)。prior-art-searchは欠けていた後方、非引用の先行技術衝突チェックです — 各新規性主張に対して先行技術コーパスをSEARCHし、衝突を正直に報告します。
中核的な位置づけ
検索に基づき、再現性には基づかない
collision / uncited-relevantの判定は、モデルの記憶ではなく、発見された先行技術からFETCHされたQUOTEを引用する必要があります。発見された先行技術テキストのフェッチされた引用に基づかない判定はinconclusiveに格下げされ、決して主張されません。これが耐荷重不変条件です(ワークスペースルール3 + L1)。自己ゲート(NC-I5)によって強制されます。発見されたテキスト自体は、検索結果からモデル抽出されたものです — psvのフェッチされた権威あるソースよりも弱いオラクルです(以下の2層注意点を参照)。
主張ごとの衝突カバレッジであり、新規性の判定ではない
prior-art-searchは決してnovel_confirmedや「ドキュメントは新規である」を出力しません。その唯一のトップライン信号はcollisions_under_known_coverageです:C clear-under-search、N collisions、U uncited-relevant、I inconclusive(M個の抽出された新規性主張のうち)。Iの主張(およびM=0の場合 — 新規性表面なし)は人間にエスカレーションされます。これは正直なカバレッジ開示であり、新規性の判定ではありません。不可避な証拠不在の限界:「先行技術は存在しない」という否定を証明することはできないため、衝突がゼロのドキュメントは「検索されたコーパスでは衝突が見つからなかった」であり、「新規」ではありません。novel_confirmedブール値にループする対称的な「新規性収束」スキルはカテゴリエラーです — カバレッジ開示(「検索されたコーパスでは衝突が見つからなかった」)を判定(「新規」)に平準化します。つまり、証拠不在を不在の証拠として扱います;prior-art-searchは明示的にそうではありません。(より広い2軸フレーム — プロセス×結果 — はspec-gaming論文§4.2;prior-art-searchは結果軸に完全に存在するため、そのエラーは結果内部であり、プロセス/結果の混同ではありません。)
csrおよびpsvへの追加的スキル;単一パイプライン
prior-art-searchはcsr(プロセス軸)およびpsv(引用ソース検証)に追加的(ADDITIVE)であり、どちらともマージしません。csrの同族+異種族複数ラウンド討論とは異なり、prior-art-searchは単一パイプラインです — 新規性主張の抽出 → 先行技術の検索 → 主張ごとの衝突判定 → カバレッジ開示。オラクルは検索可能な先行技術コーパスであり、異種族モデルではないため、csrの異種基盤を移植しません。psvとprior-art-searchは構成可能です:高重要度ドキュメントはpsv(引用されたソースは正確か?)とprior-art-search(新規性主張は発見可能な先行技術に対して衝突がないか?)の両方を実行する可能性があります。これらはマージしません。
2層のオラクル弱点、正直に述べる(ワークスペースルール3)
prior-art-searchのオラクルは検索可能な先行技術コーパスであり、psvのフェッチされた一次ソースよりも2層で弱いです(耐荷重な正直注意点、提案§3 / ADR§8 Q4):
- 比較側の弱点(psvと共有)。 主張対先行技術の比較はモデル判断です —
clear-under-searchはモデルが衝突を見つけなかったことを意味し、存在しないことではありません。これはpsvの層2部分比較の弱点です。 - 選択側の弱点(prior-art-search独自)。 検索結果は比較の弱点に選択の弱点を追加します:ランキングバイアス、再現性の限界(コーパス全体を検索することはできません)、発見された先行技術テキスト自体が検索結果からモデル抽出されたものであり、フェッチされた権威あるバイト範囲ではありません。
したがって、prior-art-searchは2層で弱く、「弱いオラクル対強いオラクル」ではありません。これこそが、決してnovel_confirmedを出力せず、トップラインがカバレッジ文であり判定でない理由です。clear-under-searchは「検索された範囲では衝突なし」を意味し、「新規」ではありません。弱いオラクルは、人間によるチェックに至るまでの新規性チェックの不可避な限界です。
2つの盲点、正直に述べる(ワークスペースルール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— 発見された先行技術がこの主張を既に行っている(ドキュメントの新規性は過大評価されている);衝突元を引用 + 発見された先行技術テキストをQUOTE(重大度blocker;evidenceは発見された先行技術を引用しなければならない)。uncited-relevant— ドキュメントが引用しなかった関連研究を発見(直接の衝突ではないが、カバレッジギャップ);発見された先行技術をQUOTE(重大度warning)。clear-under-search— 検索されたコーパス内で衝突なし(newではない;単に表面化した衝突がないだけ)。カウントのみ、発見ではない。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 of 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ログ(自明でない決定:never-novel_confirmed、単一パイプラインノー討論、偽陽性構造的プロキシ、2層検索オラクル弱点、psv/researcherとの関係、認証サーフェス)。docs/proposal.convergence.md= 提案のクロスレビュートレイル。
cross-source-review / primary-source-verification / blueprint-crafting / parallel-developmentとの調整
cross-source-reviewはPROCESS軸の収束エンジンとして留まる。prior-art-searchは追加的かつ非マージング:csrのsubstantial_convergedはprior-art-searchのカバレッジを意味せず、その逆も同様。primary-source-verificationは補完的な結果軸レグ。psv = 後方引用(各引用ソースをフェッチ);prior-art-search = 後方非引用(ドキュメントが引用しなかった先行技術を検索)。これらは構成可能(ドキュメントは両方を実行可能);マージはしない。prior-art-searchはpsvのスキーマフィールドパターン(collision-findingsはpsvのdoc-findingsを拡張 — 厳密なスーパーセット)およびinstall.mdの認証REASONINGを再利用 — コードではなく、コピーパターン(ワークスペースルール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論文を含む)に対して — dogfood-run-2026-08-01.mdのカバレッジプロファイル:フェッチされた先行技術を介して2つのuncited-relevant発見が表面化(spec-gaming NC34 ↔ SWE-ABS;psv NC2 ↔ AI-Powered Citation Auditing)、既知の自己証明パラドックス衝突はarXivのみのオラクル下でclear-under-searchとして戻ってきた — 本番環境での2層の弱点を示す(ゼロ衝突結果は「検索された範囲では衝突なし」であり、「新規」ではない)。オフラインのdogfood.pyゲートは正規のフィクスチャのみをカバー(ネットワークがない場合のルール1スキップパス)。残りの先送り:異種族の抽出レグ(抽出器の盲点の部分的な緩和策)。名前prior-art-searchは提案中、人間のLOCK待ち(提案§8 Q1)。
すべての自己チェックが成功するまで、スキル変更は完了しません(ワークスペースルール1)。コミット前に実行:
python3 skills/prior-art-search/infra/test/disconnect_check.py # 構造 + ローディングチェーン
python3 skills/prior-art-search/infra/test/plugin_layout.py # プラグインレイアウト
…[翻訳のために省略]…