🤖 AI運用ルール
2026-06-08_自動アップデート仕組み実装
最終更新 2026年06月08日 / 22_AI運用ルール/オンボーディング/2026-06-08_自動アップデート仕組み実装.md
SCALE Claude 自動アップデート仕組み実装
目的(大串FB 2026-06-08)
「定期的にアップデートのコマンドを送らずに良い仕組みが欲しい」
新コマンドを作るたびに Slack で「update.sh 実行して」と告知する運用を 構造的に終わらせる。
実装したもの(二重化)
A. LaunchAgent(メンバー全員 / 主機構)
com.scale.auto-update-commands.plist
- 3時間ごとに ~/Obsidian/scripts/auto_update_commands.sh を自動実行
- Mac 起動時にも 1 回実行(RunAtLoad: true)
- ログ: ~/Obsidian/logs/launchd.auto-update.{stdout,stderr}.log
→ 最遅 3 時間で新コマンドが全メンバーに反映される。Slack 告知が永久に不要。
B. SessionStart hook(大串 / 副機構)
session_start_brief.sh 内に組み込み済み
- Claude Code 起動時にバックグラウンドで auto_update_commands.sh を発火
- fire-and-forget(セッション開始の体感速度には影響なし)
- 大串は Claude Code を開いた瞬間に最新化される
C. 高速差分検知(auto_update_commands.sh)
- Vault 側のコマンドリストのハッシュをチェックし、変化なし → 50ms で終了
- 変化があった時だけ symlink 追加 / 修復 / ログ追記
- リソース消費は実質ゼロ
配置
| ファイル | 場所 | 役割 |
|---|---|---|
auto_update_commands.sh |
~/Obsidian/SCALE-Brain/22_AI運用ルール/オンボーディング/scripts_template/ |
軽量自動最新化(テンプレ) |
| 〃 | ~/Obsidian/scripts/ |
大串Mac側に配置済み(実体) |
com.scale.auto-update-commands.plist |
~/Obsidian/SCALE-Brain/22_AI運用ルール/オンボーディング/launchd_template/ |
LaunchAgent定義(テンプレ) |
| 〃 | ~/Library/LaunchAgents/ |
大串Mac側で稼働中 |
setup_auto_update.sh |
~/Obsidian/SCALE-Brain/22_AI運用ルール/オンボーディング/ |
既存メンバー向け 1回限り 有効化スクリプト |
メンバー側のオンボーディング
既にセットアップ済みのメンバー(1 回だけ実行)
bash ~/Obsidian/SCALE-Brain/22_AI運用ルール/オンボーディング/setup_auto_update.sh
→ Slack 告知文は _Slack配布告知文.md の 投稿2.5 にコピペ済み
新規メンバー
setup_all.sh の Phase 2(LaunchAgent 配布)が launchd_template/ を動的検出するため、新たに追加した com.scale.auto-update-commands.plist が 自動で配布される。追加の手順は不要。
動作確認(2026-06-08 大串Mac)
$ launchctl list | grep auto-update
- 0 com.scale.auto-update-commands
$ ls -la ~/Obsidian/scripts/auto_update_commands.sh
-rwxr-xr-x ~/Obsidian/scripts/auto_update_commands.sh
LaunchAgent 起動成功・ハッシュ一致のため <50ms で正常終了(ログ追記なし)。
仕組みの意義
| 観点 | Before | After |
|---|---|---|
| 大串のアクション | 新コマンド作成 → Slack 告知 → メンバー全員に手動実行依頼 | 新コマンド作成 → 何もしない |
| メンバーのアクション | Slack 通知見て手動で update.sh 実行 |
何もしない |
| 反映スピード | メンバーが気づいて実行するまで(数日〜数週間) | 最遅 3 時間 / 大串は Claude 起動時即時 |
| 反映漏れリスク | 高い(メンバーが見落とすと永久に反映されない) | ゼロに近い |
| Slack ノイズ | 毎回告知 | 永久不要 |