# Lv2 Jarvis ライブ参加 手順書

> ## 🚫 警告：以下の `/loop 30s` 起動方式は2026-05-04に禁止確定
>
> 2連続PCクラッシュ事故（WindowServer落ち＋ハードウォッチドッグ強制リセット）の原因。
> 黒幕=`/loop` の連続再呼出 ／ 実行犯=`whisper-cli` 26プロセス並列。
> 詳細：`memory/feedback_no_loop.md` ／ `memory/feedback_loop_outside_claude_code.md`
>
> **本書のステップ3「ループ起動」は絶対実行しない。**
> 暫定運用：手動オンデマンド（会話後に transcript.md を別Claude Codeに読ませる）or 会議後一括レビュー。
> 本命再実装：外部Pythonデーモン+Anthropic API直叩き（`jarvis_daemon.py`）。

---

ピンマイク → whisper-cpp → `transcript.md` のパイプライン（別エージェントの `transcribe.sh`）が回っている前提で、Jarvis セッションを30秒ごとに議論へ参加させる。返答はテキスト（`jarvis_responses.md` 追記）のみ。声出しは Lv3 で別実装。

## 構成

```
live_session/
├── transcript.md        ← transcribe.sh が追記（Jarvisは読み専用）
├── jarvis_responses.md  ← Jarvis が追記（こちら専用）
├── last_pos.txt         ← Jarvis の読み終わり行番号（単一整数）
├── loop_prompt.md       ← /loop に渡すプロンプト本文
└── HOW_TO_JOIN.md       ← このファイル
```

## 起動手順

### 1. 別ターミナルで音声パイプ起動
```bash
bash transcribe.sh   # 別エージェント実装。transcript.md に追記され続ける
```

### 2. Claude Code を起動して Jarvis モードに入る
```
jarvis起動
```
起動シーケンス（DNA・role・live_capture_rules 等8ファイル並列Read）が走るのを確認する。

> Jarvisモード必須の理由：DNA（価値観・判断基準・人間関係基準）を取り込んだ状態でないと、ただのアシスタント回答になり「ユーザーのクローンとしての発言」にならない。Lv2 の存在意義はクローンが議論に混ざること。

### 3. ループ起動
```bash
/loop 30s "$(cat '/Users/rk/Library/CloudStorage/GoogleDrive-ritsuha1021@gmail.com/マイドライブ/起業フォルダー/clone-jarvis/jarvis/live_session/loop_prompt.md')"
```

`loop_prompt.md` の中身が30秒ごとに実行される。動作概要：
1. `last_pos.txt` 読む
2. `transcript.md` の新規行を `sed` で抽出
3. 新規行があれば Jarvis として200字以内で意見生成
4. `jarvis_responses.md` に追記（タイムスタンプ + 引用 + 意見）
5. `last_pos.txt` 更新
6. 静寂時（新規行なし／発話本文なし）は黙って終了

### 4. 停止
- Claude Code のループ停止コマンド（`/loop` を再入力 → stop 選択 もしくは Ctrl+C）
- `transcribe.sh` は別途 Ctrl+C

## 発言ポリシー（loop_prompt.md と一致）
- 200字以内
- 質問・追加データ・反対意見・盲点指摘・判断基準提示を優先
- 相槌（うんうん／なるほど）・要約・繰り返し禁止
- 直近の `jarvis_responses.md` 末尾を読んで同じ論点には再発言しない
- 発言不要と判断したら黙る（last_pos だけ進める）

## 既知の罠
- **transcript.md には Write 禁止**：別エージェントが書き込み中、衝突する。Jarvis は Read のみ。
- **last_pos.txt は単一整数**：複数行や空白混入で `sed` が壊れるので overwrite 必須。
- **Google Drive 同期**：パスに日本語・空白あり。シェル変数で渡す時は必ずクオート。
- **Jarvisモードが切れた場合**：`/loop` 再起動時にプロンプト先頭で Jarvis モード復帰させるか、起動前に `jarvis起動` を流す。
- **議論加熱時の連投**：30秒ごとに必ず1発言ではない。「黙る勇気」がポリシー。重複回避ロジックを信じる。
- **トークン消費**：30秒×Opus は重い。長時間会議では `/loop` の interval を 60s に上げるのも検討。
