Skip to content

v2.39.0

Latest

Choose a tag to compare

@satoh-y-0323 satoh-y-0323 released this 24 Jun 12:54

改善

セッション開始ガードを session_guard.py に集約し Bash 許可ダイアログを恒久解消

/init-session/start/setup のセッション開始処理は、これまでフラグ書き込み・setup 実行済み判定・init-session 実行済み判定・/setup Phase 4 の setup_done.flag 書き込みを**複合 Bash(if$()/リダイレクトを含むブロック)**として実行しており、毎セッション開始時や初回 /setup 時に Bash 許可ダイアログが出ていました。複合 Bash は settings.json の allow プレフィックス一致が効かないため事前許可できませんでした。

これらを単一の Python ヘルパー session_guard.py{mark|check|setup-mark} 3 サブコマンドに集約し、settings.jsonBash(python .claude/skills/init-session/scripts/session_guard.py*) の 1 行 allow を追加することでダイアログを恒久的に解消しました。

仕組み

  • mark/init-session): .claude/state/ を作成し init_session.flag にセッション ID を書き込み、SETUP_DONE / SETUP_NEEDED を出力。
  • check/start): init_session.flag を読み、現在のセッション ID と一致すれば INIT_DONE、不一致なら INIT_NEEDED を出力。
  • setup-mark/setup Phase 4): setup_done.flag を書き込む(判定出力なし)。
  • _project_root()resolve() でパスを正規化(recall_inject.py と整合)。mark が異常終了した場合は SETUP_NEEDED 安全側に倒すフォールバックを明記。

後方互換

スキルの利用方法・フラグの配置(.claude/state/・gitignore+配布除外済み)・判定ロジックに変更はありません。公開 API・CLI・DB スキーマに変更なし。破壊的変更なし