
## 1340-A Lv5別Jarvisを Sonnet で起動（下請け必ずOpus 違反・ユーザー指摘で発覚）

### 事象
jarvis起動完了報告のLv5二重検証で、別Jarvisを `model:"sonnet"` で起動した。ユーザー指摘「下請けは必ずopusって言ったよねsonnetなんて使うはずないから聞き返した」で違反確定。

### 真因
1. **テンプレ起因の系統的バグ**：self_check.md §11/§11.6/§12・jarvis_role.md 稼働ステータステンプレが2026-05-22以来「model=Sonnet」固定で書かれており、それを鵜呑みにした。今日の他セッションのLv5（self_check_log 2026-06-24 内 5件）も全部Sonnet＝全Jarvisが系統的に違反していた。
2. **親CLAUDE.mdモデル方針（下請け原則Opus 4.8・Sonnetはユーザー明示時のみ）とテンプレのDNA矛盾を検出せずに従った**（後発・上位＝CLAUDE.md が正・テンプレが古い）。
3. **コスト制限撤廃（2026-06-12 [[feedback_cost_restriction_lifted]]）後もSonnet節約ロジックが残存**。節約目的そのものが既に無効だった。

### 是正（本ターン）
- self_check.md 4箇所（§7.3ログテンプレ/§11.1運用フロー/§11.6表示仕様/§12 Lv6文脈）を Sonnet→Opus 4.8 化＋「下請けは必ずOpus・Sonnet禁止」明記
- jarvis_role.md 稼働ステータステンプレ Lv5実体行を Opus 4.8 化
- 過去 self_check_log は履歴改竄禁止のため非改変（本反省で経緯保全）

### 恒久ルール
- 🛡 Lv5別Jarvis・全下請けAgentは `model:"opus"` 必須。Sonnetはユーザーが当該セッションで明示指示した時のみ（CLAUDE.mdモデル方針）
- 🛡 テンプレ（self_check.md/jarvis_role.md）と親CLAUDE.md方針が食い違ったらCLAUDE.md優先・テンプレを直す

### Lv5の本来役割（今回の反省）
- 皮肉にも今回のLv5自身がSonnetで起動された＝Lv5監査がモデル違反を自己検出できなかった。次回Lv5プロンプトに「自分が何モデルで起動されたか・Opusか」の自己申告チェックを入れる候補。

### 1340-A 追補（Opus Lv5が取りこぼし2件を捕捉）
- 初回是正で self_check.md/jarvis_role.md だけ直し**親CLAUDE.md:75「別Jarvis(Sonnet)」と clone_dna_part2.md:301「下請け=Sonnet」を直し漏れ**（[[feedback_grep_whole_repo_not_file_scope]]違反・ファイルスコープgrepの典型）。
- Opusで起動したLv5(agentId a73233)が repo全体grepで2件検出→両方Opus化済。
- 🛡 教訓: 規範修正は最初から `grep -rn` でrepo全体（特に親CLAUDE.md・DNA全part）を当てる。子テンプレだけ直すと最上位ソースが残って再発する。
- 🛡 Opus Lv5 > Sonnet Lv5 の精度差を実証（Sonnet版は取りこぼし誤検出のみ・Opus版が真の温床=親CLAUDE.mdを発見）。下請けOpus必須の傍証。
