pipeline-auditor について
pipeline-auditorは、LaTeX/PDFの作成前に草稿を決定論的に検査する分析専用スキルです。引用、アウトラインとのずれ、プレースホルダー、テンプレート残留などを報告し、草稿自体は編集しません。
主な機能
- 01プレースホルダーとアウトライン整合性の検査
- 02引用の健全性と範囲の監査
- 03引用密度と形式の測定
- 04説明調の文体とテンプレート残留の検出
- 05監査レポートとJSONスコアカードの作成
活用シーン
- 01LaTeX/PDF作成前のサーベイ草稿の検査
- 02改稿前に引用や構成の問題を特定
- 03回帰実行で決定論的な草稿検査を追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill pipeline-auditorインストール後、Claude Code で/pipeline-auditorを入力して読み込まれたか確認します。
同梱ファイルscripts/run.py
詳細
Pipeline Auditor(草案監査+回帰)
トリガーとルーティング
- トリガー:auditor、audit、regression test、quality report、監査、回帰テスト。
- 使用する場合:LaTeX/PDF 化する前に決定論的な合格/不合格レポートを得たい場合で、
output/DRAFT.mdが存在するとき。
目的は、執筆段階の決定論的な「回帰テスト」です。
次の点を確認します。
- プレースホルダーやプランナーの記述が残っていないか?
- 引用の範囲がずれていないか?
- 草案が生成器のような文体(ナビゲーション/ナレーションのテンプレート)に戻っていないか?
- サーベイ形式の草案として、引用の密度と健全性は十分か?
このスキルは分析のみを行います。内容は編集しません。すべてのサーベイ系プロファイルでは、スタイル/引用形式の違反はデフォルトでブロッキングです。
入力
output/DRAFT.mdoutline/outline.yml- 任意(推奨):
outline/evidence_bindings.jsonlcitations/ref.bib
出力
output/AUDIT_REPORT.mdoutput/TEMPLATE_RESIDUE_SCORECARD.json
検査項目(決定論的)
A150++ の引用目標(監査で使用):
- H3 ごと:独自の引用が 12 件以上(deep:14 件以上)。
- 全体:ドラフト全体で独自の引用が 150 件以上(推奨目標:165 件、deep の下限:165 件)。
コース論文の目標:
-
H3 ごと:独自の引用が 4 件以上、引用以外の文字数が 1600 文字以上。
-
全体:独自の引用が 24 件以上(推奨目標:32 件)。
-
プレースホルダーの残存:省略記号(
...、…)、TODO マーカー、スキャフォールドタグ。 -
アウトラインとの整合性:セクション/サブセクションの順序と
outline/outline.ymlの比較。 -
サーベイ表:
course_paperでは Markdown 表が 1 つ以上、survey/deepでは 2 つ以上必要です(section-mergerがoutline/tables_appendix.mdから挿入します。インデックス表は内部用です)。 -
論文の文体におけるアンチパターン:
- 語りのテンプレート(
This subsection ...、In this subsection ...) - スライドの案内文(
Next, we move ...、We now turn to ...) - 明らかなパイプライン調の表現(
this run、this workspace) this pipeline、this stage、quality gateなどの曖昧な用語は、同じ文にチェックポイント、Unit ID、Harness ロック、試行台帳、テンプレートの残存物などの Harness アンカーが含まれる場合にのみブロックします。通常の分野固有の用法は、ブロック対象外の警告にとどまります。
- 語りのテンプレート(
-
エビデンスポリシーに関する免責事項の乱用:H3 本文内で「abstract-only/title-only/provisional」という定型文を繰り返すこと。
-
サーベイのメタガイダンス表現:
survey synthesis/comparisons should ...。 -
統合文の書き出しの繰り返し:
Taken together, ...など、信号性の高い生成テンプレートの書き出しを繰り返すこと。 -
数値主張の文脈:最小限の評価文脈を示すトークン(ベンチマーク/データセット/指標/予算/コスト)を伴わない数値。
-
引用の健全性(
citations/ref.bibが存在する場合):未定義のキー、重複、基本的な書式上の問題。 -
引用形式の必須ゲート:隣接する引用ブロック(
[@a] [@b])および 1 つのブロック内でのキーの重複([@a; @a])がないこと。文中引用の比率は、course_paperで 20% 以上、survey/deepで 30% 以上です。 -
引用の範囲(
outline/evidence_bindings.jsonlが存在する場合):H3 ごとに使用する引用は、割り当てられたエビデンスの範囲内に収める必要があります。 -
ドラフト全体における決定論的なテンプレート残存:読者向けの英語文と CJK 文を分け、この Run で選択されたテンプレートアセットの固定フレーズと各文を比較し、Workflow の上限を超えた場合は不合格とします。
-
テンプレートソースの来歴:選択されたフロントマターアセットとハッシュを
output/FRONT_MATTER_CONTEXT.jsonに記録することを必須とし、さらに、テンプレートを所有する 3 つの Skill 実装が.harness/harness.lock.jsonと一致することを必須とします。来歴情報の欠落、旧形式のロック、リポジトリの不整合は、受け入れをブロックします。
JSON スコアカードには、測定された比率、件数、しきい値、選択されたアセットのハッシュ、見出しを考慮した例、実装ロックの結果が記録されます。通常の Harness 実行中、Completion はその判定と各評価項目を .harness/evaluations/ledger.jsonl に反映します。失敗した Attempts も記録されるため、Run Audit は PASS/FAIL に集約するのではなく、最新の測定結果を提示できます。スコアカードファイルは完全なエビデンスオブジェクトとして保持され、台帳は意図的に簡潔なものになっています。現在の 10% という上限は、初期のポリシー目標です。公開済みの Survey 再生では、現在の 31 項目のチェック契約が残存物 0/226 で完了しており、保持された Artifact セット 1 件で達成可能であることを示しています。クリーンな状態からの実行、無関係なトピック、プロファイルをまたいだ調整については、引き続き検証が必要です。
レポートの使い方(ルーティングテーブル)
output/AUDIT_REPORT.md は「次に何を修正するか」を示すルーターとして扱います。
よくある FAIL の種類 -> 担当ステージ/スキル:
-
プレースホルダー/漏れ出した骨組み
- 修正:C2–C4 の成果物がクリーンではありません。
subsection-briefs/evidence-draft/writer-context-packに戻し、該当するセクションを書き直します。
- 修正:C2–C4 の成果物がクリーンではありません。
-
概要テーブルの不足(選択したプロファイルのテーブル最小数を下回る)
- 修正:
table-schemaとappendix-table-writerによりoutline/tables_appendix.mdが作成されていることを確認します(コースペーパーテーブルを1つ以上、サーベイ/詳細テーブルを2つ以上含み、引用に裏付けられ、プレースホルダーがない状態)。その後、section-mergerを再実行します。
- 修正:
-
つなぎやナレーターのブリッジにおけるプランナーの語り
- 修正:
transition-weaverを再実行します(ブリーフにbridge_terms/contrast_hookが含まれていることも確認してください)。その後、再度マージします。
- 修正:
-
H3 内のナレーションテンプレート/スライドナビゲーション
- 修正:
writer-selfloop(ローカル、セクション単位)またはsubsection-polisherを使って、問題のあるsections/S*.mdを書き直します。
- 修正:
-
エビデンスポリシーに関する免責事項の繰り返し
- 修正:エビデンスポリシーは Intro/Related Work(フロントマター)に一度だけ残し、H3 内の繰り返しを削除します(
draft-polisherまたはローカルでのセクション書き直しを使用します)。
- 修正:エビデンスポリシーは Intro/Related Work(フロントマター)に一度だけ残し、H3 内の繰り返しを削除します(
-
引用の範囲の逸脱(対象範囲外の bibkey)
- 修正:(a)対象範囲内にとどまるようサブセクションを書き直すか、(b)マッピング/バインディング(
section-mapper→evidence-binder)を修正してパックを再生成します。
- 修正:(a)対象範囲内にとどまるようサブセクションを書き直すか、(b)マッピング/バインディング(
-
全体で固有の引用が少なすぎる
- 修正:
citation-diversifier→citation-injector(新しい事実の追加は禁止)を実行し、その後draft-polisherを実行します。
- 修正:
-
Intro/Related Work の内容が薄い/引用が少なすぎる
- 修正:対応する
sections/S<sec_id>.mdのフロントマターファイルを、密度の高い位置づけと手法の段落を用いてwriter-selfloop(フロントマターのパス)で書き直します。
- 修正:対応する
-
ワークフローの上限を超える、ドラフト全体のテンプレート残存
- 修正:各スコアカード例の見出し、セクションの種類、セクションの担当者、テンプレートの担当者を使って、該当するフロントマター、章の導入部、または H3 の範囲を特定します。元のセクションを書き直し、マージ済みドラフトを再生成して、監査を再実行します。既存の Run を通すためにテンプレートアセットを弱めたり、名前を変更したりしないでください。
予防ガイダンス(上流の執筆者向け)
重い推敲ループなしで監査に PASS させたい場合:
- 各 H3 は内容に関する主張と論旨から始めます(ナレーションテンプレートは避けます)。
- 明示的な対比と、少なくとも1つの評価の基準となる段落を使います。
- 主張ごとに引用を埋め込みます(末尾に引用をまとめるのは避けます)。
- エビデンスポリシーの制限事項は各 H3 ではなく、フロントマターに一度だけ記載します。
スクリプト
クイックスタート
uv run python .codex/skills/pipeline-auditor/scripts/run.py --helpuv run python .codex/skills/pipeline-auditor/scripts/run.py --workspace <workspace>
すべてのオプション
--workspace <dir>--unit-id <U###>(任意。ログ用)--inputs <semicolon-separated>(まれな上書き用。デフォルト設定を推奨)--outputs <semicolon-separated>(まれな上書き用。デフォルトではoutput/AUDIT_REPORT.mdとoutput/TEMPLATE_RESIDUE_SCORECARD.jsonに書き込みます)--checkpoint <C#>(任意)
例
global-reviewerの実行後、LaTeX/PDF 化の前に監査を実行します:uv run python .codex/skills/pipeline-auditor/scripts/run.py --workspace <workspace>
トラブルシューティング
問題:未定義の引用が原因で監査に失敗する
修正:
citation-verifierで引用を再生成し、citations/ref.bibに引用されたすべてのキーが含まれていることを確認します。
問題:ナレーション調のナビゲーション表現が原因で監査に失敗する
修正:
- 問題のある
sections/*ファイル内で、論旨をつなぐブリッジ(内容を伴う受け渡しであり、ナビゲーションの解説を含まない)に書き直し、その後、再度マージします。
問題:「固有の引用が少なすぎる」ことが原因で監査に失敗する
修正:
citation-diversifierを実行して、output/CITATION_BUDGET_REPORT.mdを作成します。citation-injectorで適用します(output/DRAFT.mdを編集し、output/CITATION_INJECTION_REPORT.mdを書き込みます)。- その後、
draft-polisher→global-reviewer→ 監査を実行します。