証跡を再利用する依存閉包は、完全性を証明できない入力を広いスコープへ倒す
テスト設計
証跡管理
ビルドシステム
判断
運用
原則
テストや検証ログを入力ハッシュで再利用するとき、静的なimportグラフだけを依存閉包と見なすと偽greenが生じる。実行時のファイル読込、glob探索、設定の自動発見、環境変数、子プロセス、動的import、テストランナーの暗黙設定などは、静的importの外から結果を変えられるためである。
再利用可能な狭いスコープを許すのは、対象コマンドの依存を列挙するresolverがあり、未知の入力経路を検出したら失敗または広いスコープへ倒せる場合に限る。完全性を示せないコマンドはリポジトリ全体など保守的なスコープにし、関連変更後は再検証する。速度よりも、古い証跡を有効扱いしないことを優先する。
検証には、二段以上の静的依存だけでなく、動的ファイル読込、glob、子プロセス、設定自動探索の故意ずれを含める。狭い閉包へ分類したケースは依存変更でstaleになり、未知経路を含むケースは広いスコープへ分類されることを確認する。