手順は ルールの点検に従った。7 観点で候補 30 件を出し、1 件ずつ反証を当てて 12 件が残った(high 3 ・ medium 7 ・ low 2)。ルール文書は直していない。
「トップレベル」と「置き場と実行」は tools/40_test/、「スクリプトの置き場」は「開発時の実行(test実行・別バージョン検証)は tools/50_run/」。run-tests.ps1 を置くという同じ状況で行き先が割れる。
直し方: 40_test を正とし、「スクリプトの置き場」から test実行 を外して「置き場と実行」を参照させる。
「プロジェクトフォルダ外へのアクセス」が挙げるのは PlayWright ・ html2md ・ ~/.claude 配下だけ。「ai-chat-lite(AI 間チャット)の利用」は共有環境の使い方資料を読めと指示しているので、読むたびに事前確認が要るのか要らないのかが決まらない。
直し方: 「プロジェクトフォルダ外へのアクセス」の括弧内に ai-chat-lite を加える。
HTML は BOM 付き UTF-8 と定められ、「ツールごとの文字コードの扱い」の表も Write は BOM を消すと示している。それなのに入れ直しの指示は ps1 の行だけにある。この体系で最も多く作るのが HTML なので、既定の手順のまま違反が出る。あわせて、この節の適用条件「既存ファイルを編集するとき」が、新規作成の Write を扱う中身と合っていない。
直し方: 「HTML を Write で書いたら convert-encoding <path> --to html を通す」を並べ、適用条件を「既存ファイルを編集するとき、Write でファイルを作るとき」に広げる。
| # | 観点 | 見出し | 何が |
|---|---|---|---|
| 4 | 矛盾 | 重大な操作の確認方法 | 実行を明示する語に「作って」「作成して」が無い。リモートリポジトリ作成は外部に残る操作なので語リストの制約を受けるが、gh repo create を起動できる語が存在しない |
| 5 | 矛盾 | 課題の管理「作り方」 | 「issues は HTML だけで運用する」と決めているのに、変換対象は「notes/ 配下の html」。md-skip を入れる指示が無く、素の変換で .md が生成される |
| 6 | 重複 | 修正は1点ずつ / いつ実行するか | テストの全件実行のタイミングが 2 か所に独立して書かれている。どちらも参照形式でない |
| 7 | 重複 | CLI の引数はダブルクォート / ai-chat-lite の利用 | クォートの規則(ダブル・シングルは cmd で値に入る・裸だとカンマで割れる)とその理由が両方に写されている |
| 8 | 矛盾 | テストの「書き方」 / 対象を渡すコマンド | 見本が node --test tests/ の相対パス。後者は同じコマンドを名指しで絶対パスを求めている。見本どおりに書くと事故った側の形になる |
| 9 | 境界 | ローカル「共有ツールの定期レビューの運用」 | 伏せるべき実値の列挙(個人名・メール・ユーザー名・ホスト名・実体パス)が「機密情報のマスキング」の写しになっている。共通側が変わると古くなる |
| 10 | 重複 | 機密情報のマスキング / コミット前の確認 | コミット author の扱い(変えない・了承済み)が 2 か所で結論まで書かれている |
| # | 観点 | 見出し | 何が |
|---|---|---|---|
| 11 | 構成 | 新規プロジェクトの初期化 | 作る 4 点のうち 3 つ(gitブランチ ・ .gitignore ・ etc/c.bat)がワークフロールール側に離れている。とくに etc/c.bat 作成 は「ルールの記述規則」の後ろに孤立し、どの話題の続きか読めない |
| 12 | 構成 | ps1作成時のcmdランチャー | 「必ず」と書いた見出しに例外が書かれていない。例外(フックスクリプトは対象外)は離れた「セッションログの自動保存」の中にある |
最初に Workflow で 32 エージェントを回したが、反証 24 件と抜け確認の 25 本すべてが利用量の上限で落ちた。探索の 7 本は通っており候補は 35 件出ていたが、反証が 1 件も返らなかったため確定は 0 件で終わった。そのあとサブエージェント 1 本で観点・反証・見落としを通しで行い、この 12 件を得た。
通った分だけで「点検した」と書かない。1 回目は上限で 24 件が反証にかからず、さらに件数の上限で 9 件が反証の対象にも入っていなかった。落ちた本数を数えて残す(共通ルール「並列で読ませるとき」)。
| 棄却したもの | 理由 |
|---|---|
| 章の色相表・寸法・callout の種別 | 再現に必要な具体値。圧縮・言い換えの対象外と定められている |
.editorconfig とコーディングルールの文字コードの重複 |
設定ファイルの中身そのものなので、同じ値が出るのは重複ではない |
| ローカルルールの cron 揮発性の記述 | 踏んだ事故の記録であり、ローカルルールが正しい置き場 |
| 適用条件の記載漏れ | 見出しから読み取れるものは、直さないと実害が出るとは言い切れない |
| ai-chat-lite の見出しの分量 | 参照先の使い方資料を読んでいないため、写しかどうかを検証できない |
この点検の結果はルームへ投稿しない。共有ツールへの指摘と違い、直すかどうかを決めるのは利用者であり、ルール文書の変更は指示を待つ(共通ルール「ルールの更新タイミング」)。
12 件すべてを反映した。
| # | 対象 | 重要度 | 状態 | 件名 |
|---|---|---|---|---|
| 1 | 共通ルール | high | 反映済み | テストの実行ランチャーの置き場が 2 通り。「スクリプトの置き場」から test実行 を外し、「置き場と実行」への参照にした(案 A) |
| 2 | 共通ルール | high | 反映済み | 共有環境の例外列挙に ai-chat-lite が無い。「プロジェクトフォルダ外へのアクセス」の括弧に足した(案 A) |
| 3 | 共通ルール | high | 反映済み | Write のあとの BOM 復旧が ps1 のみ。HTML の行を足し、適用条件に「Write でファイルを作るとき」を加えた(案 B) |
| 4 | 共通ルール | medium | 反映済み | 実行を明示する語に「作って」が無い。語のリストに「作って / 作成して」を足した(案 A) |
| 5 | 共通ルール | medium | 反映済み | issues を HTML だけで運用する手段が無い。「作り方」に md-skip を入れる 1 句を足した(案 A) |
| 6 | 共通ルール | medium | 反映済み | テスト全件実行のタイミングが 2 か所。「修正は1点ずつ」側を「報告の前」+参照に絞った(案 A) |
| 7 | 共通ルール | medium | 反映済み | クォートの規則と理由が 2 か所。ai-chat-lite 側を「1 ルームだけになる」+参照の 1 行に縮めた(案 A) |
| 8 | 共通ルール | medium | 反映済み | node --test のパスが絶対と相対で食い違う。見本を $PSScriptRoot の絶対パスに直し、理由は参照にした(案 A) |
| 9 | ローカルルール | medium | 反映済み | 共通ルールの本文を写している。伏せるべき実値の列挙を「機密情報のマスキング」への参照にした(案 A) |
| 10 | 共通ルール | medium | 反映済み | コミット author の扱いが 2 か所。「コミット前の確認」側を参照+「隠せない」の事実だけに絞った(案 A) |
| 11 | 共通ルール | low | 反映済み | 初期化の 4 点が 2 つの大分類に散っている。etc/c.bat 作成 を「新規プロジェクトの初期化」の直後へ移した。.gitignore は Git 運用の並びを割らないため据え置き(案 A) |
| 12 | 共通ルール | low | 反映済み | cmd ランチャーの例外が別の見出しにある。「ps1作成時のcmdランチャー」に「ユーザーが直接実行しない ps1(フック等)は対象外」を足した(案 A) |
1〜8 ・ 10〜12 は共通ルールなので、反映したら周知が 1 回要る(共通ルール「ルールの更新タイミング」)。9 はローカルルールなので周知しない。