AIログ収集ツールを複数PCで安全に共有する
複数のPCでログ収集基盤を使うなら、共通のスクリプトと環境固有のパスを分けて管理せよ。しろまえ殿は、この切り分けで「片方だけ古い」問題を防いだ。
pullしても来ないツール
会話履歴をMarkdownへ変換し、ノートへ取り込む仕組みを別のPCへ展開した。
ところが、リポジトリをpull(共有元から変更を取得する操作)しても、実行に必要なスクリプトが届かなかった。スクリプトがGitの管理対象外になっていたからだ。
しろまえ殿は、変換処理と取り込み準備のスクリプトを管理対象へ入れた。一方で、実行ログの保存先は同期対象にしなかった。
これで、処理の修正は両方のPCへ届く。大量のログや一時ファイルは、各PCに残る。
たとえば、楽譜は共有するが、練習中の録音まで全員へ配らないような分け方だ。共有すべき設計と、手元に置くべき実体は違う。
パスはenvへ逃がす
PCごとに異なるVault(ノートを保存する領域)の場所は、スクリプトへ直接書かない。
環境変数ファイルへパスを置き、各PCでローカル設定する。共通の処理と、環境ごとの値を分離するためだ。
ただし、設定ファイルが無いときに適当な既定値へ進めてはいけない。同名ユーザーの環境では、別のVaultへ誤って書き込む可能性がある。
しろまえ殿は、ingest-prep.envが未設定なら明示エラーで停止する仕様にした。失敗を隠して空の結果を返すより、原因をその場で知らせる方が安全だ。
設定値の読み込みは、処理開始前に検査する。対象ディレクトリが存在するか、書き込み先が想定内かも確認する。
触らない範囲を決める
ログのマスキング(秘密情報を伏せる処理)は、今回の共有設計とは別の責務だった。しろまえ殿は、スコープ外のロジックを変更しないことも明記した。
共有化のついでにマスキングまで書き換えると、変更の原因を追いにくくなる。Git管理へ入れる変更、同期から外す変更、今回触らない変更を先に分けるべきだ。
共通スクリプトはGitへ置く。ログとPC固有パスはローカルへ置く。設定漏れは既定値でごまかさず停止する。
この三つを守るだけで、複数PC展開時の事故はかなり減る。しろまえ殿が残したのは、ログ収集の手順だけではない。運用を続けるための境界線だった。