🤖 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 ノイズ 毎回告知 永久不要

関連